Skip to content

Commit 270c6b4

Browse files
authored
chore: additional logging around task execution (#1217)
1 parent 7837a62 commit 270c6b4

File tree

4 files changed

+46
-6
lines changed

4 files changed

+46
-6
lines changed

packages/api/src/tasks/checkAlerts.ts

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -463,11 +463,18 @@ export default class CheckAlertTask implements HdxTask<CheckAlertsTaskArgs> {
463463

464464
this.provider = await loadProvider(this.args.provider);
465465
await this.provider.init();
466+
logger.debug({
467+
message: 'finished provider initialization',
468+
provider: this.provider.constructor.name,
469+
args: this.args,
470+
});
466471

467472
const alertTasks = await this.provider.getAlertTasks();
468-
logger.info({
469-
message: 'Fetched alert tasks to process',
470-
taskCount: alertTasks.length,
473+
const taskCount = alertTasks.length;
474+
logger.debug({
475+
message: `Fetched ${taskCount} alert tasks to process`,
476+
taskCount,
477+
args: this.args,
471478
});
472479

473480
const teams = new Set(alertTasks.map(t => t.conn.team.toString()));
@@ -476,6 +483,12 @@ export default class CheckAlertTask implements HdxTask<CheckAlertsTaskArgs> {
476483
const teamWebhooksById = await this.provider.getWebhooks(teamId);
477484
teamToWebhooks.set(teamId, teamWebhooksById);
478485
}
486+
logger.debug({
487+
message: `Obtained teams and webhooks for all alertTasks`,
488+
args: this.args,
489+
teamCount: teams.size,
490+
teamWebhookCount: teamToWebhooks.size,
491+
});
479492

480493
for (const task of alertTasks) {
481494
const teamWebhooksById =
@@ -484,8 +497,16 @@ export default class CheckAlertTask implements HdxTask<CheckAlertsTaskArgs> {
484497
this.processAlertTask(task, teamWebhooksById),
485498
);
486499
}
500+
logger.debug({
501+
message: 'finished scheduling alert tasks on the task_queue',
502+
args: this.args,
503+
});
487504

488505
await this.task_queue.onIdle();
506+
logger.info({
507+
message: 'finished processing all tasks on task_queue',
508+
args: this.args,
509+
});
489510
}
490511

491512
name(): string {

packages/api/src/tasks/index.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@ const main = async (argv: TaskArgs) => {
3030
logger.info(
3131
`Task [${task.name()}] finished in ${(performance.now() - t0).toFixed(2)} ms`,
3232
);
33+
} catch (e: unknown) {
34+
logger.error({
35+
message: `Task [${task.name()}] failed: ${serializeError(e)}`,
36+
cause: e,
37+
task,
38+
});
3339
} finally {
3440
await task.asyncDispose();
3541
}

packages/api/src/tasks/providers/default.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,7 @@ export default class DefaultAlertProvider implements AlertProvider {
230230
alertId: alert.id,
231231
team: alert.team,
232232
channel: alert.channel,
233+
provider: 'default',
233234
});
234235
}
235236
}
@@ -306,6 +307,7 @@ export default class DefaultAlertProvider implements AlertProvider {
306307
logger.info({
307308
message: `connection password not found`,
308309
connectionId: id,
310+
provider: 'default',
309311
});
310312
}
311313

packages/api/src/tasks/providers/index.ts

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { ISavedSearch } from '@/models/savedSearch';
1010
import { ISource } from '@/models/source';
1111
import { IWebhook } from '@/models/webhook';
1212
import DefaultAlertProvider from '@/tasks/providers/default';
13+
import logger from '@/utils/logger';
1314

1415
import { AggregatedAlertHistory } from '../checkAlerts';
1516

@@ -107,13 +108,23 @@ export async function loadProvider(
107108
if (isValidProvider(providerInstance)) {
108109
return providerInstance;
109110
} else {
110-
console.warn(`"${providerName}" does not implement AlertProvider`);
111+
logger.warn({
112+
message: `"${providerName}" does not implement AlertProvider`,
113+
providerName,
114+
});
111115
}
112116
} else {
113-
console.warn(`"${providerName}" does not export default constructor`);
117+
logger.warn({
118+
message: `"${providerName}" does not export default constructor`,
119+
providerName,
120+
});
114121
}
115122
} catch (e) {
116-
console.warn(`failed to load "${providerName}: ${e}"`);
123+
logger.warn({
124+
message: `failed to load "${providerName}: ${e}"`,
125+
cause: e,
126+
providerName,
127+
});
117128
}
118129
}
119130

0 commit comments

Comments
 (0)