Skip to content

Commit b23696b

Browse files
committed
Move to reporting worker stats through logs
1 parent f3a7e2a commit b23696b

File tree

3 files changed

+16
-21
lines changed

3 files changed

+16
-21
lines changed

apps/webapp/app/env.server.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ const EnvironmentSchema = z.object({
4040
EXECUTION_WORKER_POLL_INTERVAL: z.coerce.number().int().default(1000),
4141
WORKER_ENABLED: z.string().default("true"),
4242
EXECUTION_WORKER_ENABLED: z.string().default("true"),
43-
WORKER_REPORTER_EMAIL: z.string().email().optional(),
4443
});
4544

4645
export type Environment = z.infer<typeof EnvironmentSchema>;

apps/webapp/app/platform/zodWorker.server.ts

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,8 @@ export type ZodWorkerCleanupOptions = {
9191
taskOptions?: CronItemOptions;
9292
};
9393

94+
type ZodWorkerReporter = (event: string, properties: Record<string, any>) => Promise<void>;
95+
9496
export type ZodWorkerOptions<TMessageCatalog extends MessageCatalogSchema> = {
9597
name: string;
9698
runnerOptions: RunnerOptions;
@@ -99,7 +101,7 @@ export type ZodWorkerOptions<TMessageCatalog extends MessageCatalogSchema> = {
99101
tasks: ZodTasks<TMessageCatalog>;
100102
recurringTasks?: ZodRecurringTasks;
101103
cleanup?: ZodWorkerCleanupOptions;
102-
reporter?: (subject: string, message: string) => Promise<void>;
104+
reporter?: ZodWorkerReporter;
103105
};
104106

105107
export class ZodWorker<TMessageCatalog extends MessageCatalogSchema> {
@@ -111,7 +113,7 @@ export class ZodWorker<TMessageCatalog extends MessageCatalogSchema> {
111113
#recurringTasks?: ZodRecurringTasks;
112114
#runner?: GraphileRunner;
113115
#cleanup: ZodWorkerCleanupOptions | undefined;
114-
#reporter?: (subject: string, message: string) => Promise<void>;
116+
#reporter?: ZodWorkerReporter;
115117

116118
constructor(options: ZodWorkerOptions<TMessageCatalog>) {
117119
this.#name = options.name;
@@ -528,10 +530,11 @@ export class ZodWorker<TMessageCatalog extends MessageCatalogSchema> {
528530
});
529531

530532
if (this.#reporter) {
531-
await this.#reporter(
532-
"Worker Queue Cleanup",
533-
`Cleaned up ${results.length} jobs older than ${expirationDate.toISOString()}`
534-
);
533+
await this.#reporter("cleanup_stats", {
534+
count: results.length,
535+
expirationDate,
536+
ts: payload._cron.ts,
537+
});
535538
}
536539
}
537540

@@ -581,10 +584,11 @@ export class ZodWorker<TMessageCatalog extends MessageCatalogSchema> {
581584
payload,
582585
});
583586

584-
await this.#reporter(
585-
"Worker Queue Metrics",
586-
`Added ${addedCountResults.count} jobs in the last hour, total jobs: ${totalCountResults.count}`
587-
);
587+
await this.#reporter("queue_metrics", {
588+
addedCount: addedCountResults.count,
589+
totalCount: totalCountResults.count,
590+
ts: payload._cron.ts,
591+
});
588592
}
589593

590594
#logDebug(message: string, args?: any) {

apps/webapp/app/services/worker.server.ts

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -134,16 +134,8 @@ function getWorkerQueue() {
134134
ttl: 7 * 24 * 60 * 60 * 1000, // 7 days
135135
maxCount: 1000,
136136
},
137-
reporter: async (subject, message) => {
138-
logger.info("workerQueue reporter", { workerMessage: message, subject });
139-
140-
if (env.WORKER_REPORTER_EMAIL) {
141-
await sendPlainTextEmail({
142-
to: env.WORKER_REPORTER_EMAIL,
143-
subject: `[${env.APP_ENV}] workerQueue Report: ${subject}`,
144-
text: message,
145-
});
146-
}
137+
reporter: async (event, properties) => {
138+
logger.info("workerQueue report", { event, properties });
147139
},
148140
runnerOptions: {
149141
connectionString: env.DATABASE_URL,

0 commit comments

Comments
 (0)