Skip to content

Commit a3f6d96

Browse files
committed
Redis worker logErrors changes, removed ids
1 parent 0f6c2ed commit a3f6d96

File tree

3 files changed

+23
-8
lines changed

3 files changed

+23
-8
lines changed

apps/webapp/app/v3/alertsWorker.server.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ function initializeWorker() {
3333
retry: {
3434
maxAttempts: 3,
3535
},
36+
logErrors: false,
3637
},
3738
"v3.performDeploymentAlerts": {
3839
schema: z.object({
@@ -42,6 +43,7 @@ function initializeWorker() {
4243
retry: {
4344
maxAttempts: 3,
4445
},
46+
logErrors: false,
4547
},
4648
"v3.deliverAlert": {
4749
schema: z.object({
@@ -51,6 +53,7 @@ function initializeWorker() {
5153
retry: {
5254
maxAttempts: 3,
5355
},
56+
logErrors: false,
5457
},
5558
},
5659
concurrency: {

apps/webapp/app/v3/services/alerts/deliverAlert.server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -926,7 +926,7 @@ export class DeliverAlertService extends BaseService {
926926
});
927927

928928
if (!response.ok) {
929-
logger.error("[DeliverAlert] Failed to send alert webhook", {
929+
logger.info("[DeliverAlert] Failed to send alert webhook", {
930930
status: response.status,
931931
statusText: response.statusText,
932932
url: webhook.url,

packages/redis-worker/src/worker.ts

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ export type WorkerCatalog = {
3636
retry?: RetryOptions;
3737
cron?: string;
3838
jitterInMs?: number;
39+
/** Defaults to true. If false, errors will not be logged. */
40+
logErrors?: boolean;
3941
};
4042
};
4143

@@ -541,12 +543,12 @@ class Worker<TCatalog extends WorkerCatalog> {
541543
const catalogItem = this.options.catalog[job as any];
542544
const handler = this.jobs[job as any];
543545
if (!handler) {
544-
this.logger.error(`No handler found for job type: ${job}`);
546+
this.logger.error(`Worker no handler found for job type: ${job}`);
545547
return;
546548
}
547549

548550
if (!catalogItem) {
549-
this.logger.error(`No catalog item found for job type: ${job}`);
551+
this.logger.error(`Worker no catalog item found for job type: ${job}`);
550552
return;
551553
}
552554

@@ -590,15 +592,25 @@ class Worker<TCatalog extends WorkerCatalog> {
590592
}
591593
).catch(async (error) => {
592594
const errorMessage = error instanceof Error ? error.message : String(error);
593-
this.logger.error(`Error processing item:`, {
595+
596+
const shouldLogError = catalogItem.logErrors ?? true;
597+
598+
const logAttributes = {
594599
name: this.options.name,
595600
id,
596601
job,
597602
item,
598603
visibilityTimeoutMs,
599604
error,
600605
errorMessage,
601-
});
606+
};
607+
608+
if (shouldLogError) {
609+
this.logger.error(`Worker error processing item`, logAttributes);
610+
} else {
611+
this.logger.info(`Worker failed to process item`, logAttributes);
612+
}
613+
602614
// Attempt requeue logic.
603615
try {
604616
const newAttempt = attempt + 1;
@@ -609,7 +621,7 @@ class Worker<TCatalog extends WorkerCatalog> {
609621
const retryDelay = calculateNextRetryDelay(retrySettings, newAttempt);
610622

611623
if (!retryDelay) {
612-
this.logger.error(`Item ${id} reached max attempts. Moving to DLQ.`, {
624+
this.logger.error(`Worker item reached max attempts. Moving to DLQ.`, {
613625
name: this.options.name,
614626
id,
615627
job,
@@ -629,7 +641,7 @@ class Worker<TCatalog extends WorkerCatalog> {
629641
}
630642

631643
const retryDate = new Date(Date.now() + retryDelay);
632-
this.logger.info(`Requeuing failed item ${id} with delay`, {
644+
this.logger.info(`Worker requeuing failed item with delay`, {
633645
name: this.options.name,
634646
id,
635647
job,
@@ -649,7 +661,7 @@ class Worker<TCatalog extends WorkerCatalog> {
649661
});
650662
} catch (requeueError) {
651663
this.logger.error(
652-
`Failed to requeue item ${id}. It will be retried after the visibility timeout.`,
664+
`Worker failed to requeue item. It will be retried after the visibility timeout.`,
653665
{
654666
name: this.options.name,
655667
id,

0 commit comments

Comments
 (0)