Skip to content

Commit e112025

Browse files
committed
explicitly list attempts/backoff
1 parent 96a0f15 commit e112025

File tree

5 files changed

+17
-15
lines changed

5 files changed

+17
-15
lines changed

src/worker/queues/mineTransactionQueue.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ export class MineTransactionQueue {
1313
private static q = new Queue<string>(this.name, {
1414
connection: redis,
1515
defaultJobOptions: {
16-
...defaultJobOptions,
1716
// Delay confirming the tx by 500ms.
1817
delay: 500,
1918
// Retry after 2s, 4s, 8s, 16s, 32s, 64s, 128s, 256s, 512s, 1024s (17 minutes)
2019
// This needs to be long enough to handle transactions stuck in mempool.
2120
attempts: 10,
2221
backoff: { type: "exponential", delay: 2_000 },
22+
...defaultJobOptions,
2323
},
2424
});
2525

src/worker/queues/processEventLogsQueue.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,7 @@ export const PROCESS_EVENT_LOGS_QUEUE_NAME = "process-event-logs";
1010
// Queue
1111
const _queue = new Queue<string>(PROCESS_EVENT_LOGS_QUEUE_NAME, {
1212
connection: redis,
13-
defaultJobOptions: {
14-
...defaultJobOptions,
15-
attempts: 0,
16-
},
13+
defaultJobOptions,
1714
});
1815

1916
// Each job handles a block range for a given chain, filtered by addresses + events.

src/worker/queues/processTransactionReceiptsQueue.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,7 @@ export const PROCESS_TRANSACTION_RECEIPTS_QUEUE_NAME =
1212
const _queue = redis
1313
? new Queue<string>(PROCESS_TRANSACTION_RECEIPTS_QUEUE_NAME, {
1414
connection: redis,
15-
defaultJobOptions: {
16-
...defaultJobOptions,
17-
attempts: 0,
18-
},
15+
defaultJobOptions,
1916
})
2017
: null;
2118

src/worker/queues/queues.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,18 @@ import { env } from "../../utils/env";
33
import { logger } from "../../utils/logger";
44

55
export const defaultJobOptions: JobsOptions = {
6-
attempts: 3,
7-
// Retries after 5s, 10s, 20s.
8-
backoff: { type: "exponential", delay: 5_000 },
9-
// Purges completed jobs.
6+
attempts: 0,
7+
// Purges successful jobs.
108
removeOnComplete: {
11-
age: 60 * 60 * 24 * 7,
9+
age: 7 * 24 * 60 * 60,
1210
count: 10_000,
1311
},
12+
// Purge failed jobs.
13+
// These limits should be high to debug Redis instances.
14+
removeOnFail: {
15+
age: 30 * 24 * 60 * 60,
16+
count: 100_000,
17+
},
1418
};
1519

1620
export const logWorkerExceptions = (worker: Worker) => {

src/worker/queues/sendWebhookQueue.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@ export const SEND_WEBHOOK_QUEUE_NAME = "send-webhook";
1616
// Queue
1717
const _queue = new Queue<string>(SEND_WEBHOOK_QUEUE_NAME, {
1818
connection: redis,
19-
defaultJobOptions,
19+
defaultJobOptions: {
20+
...defaultJobOptions,
21+
attempts: 3,
22+
backoff: { type: "exponential", delay: 5_000 },
23+
},
2024
});
2125

2226
export type EnqueueContractSubscriptionWebhookData = {

0 commit comments

Comments
 (0)