Skip to content

Commit b9a20f8

Browse files
authored
feat: add QUEUE_JOB_RETENTION_AGE_SECONDS to environment configuration (#921)
Introduced a new environment variable QUEUE_JOB_RETENTION_AGE_SECONDS to define the age (in seconds) after which completed or failed jobs are eligible for removal. Updated job options to utilize this variable for job retention settings.
1 parent f01717a commit b9a20f8

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

src/shared/utils/env.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@ export const env = createEnv({
8686
QUEUE_FAIL_HISTORY_COUNT: z.coerce.number().default(10_000),
8787
// Sets the number of recent nonces to map to queue IDs.
8888
NONCE_MAP_COUNT: z.coerce.number().default(10_000),
89+
// Sets the age (in seconds) after which completed or failed jobs are eligible for removal. Default: 7 days.
90+
QUEUE_JOB_RETENTION_AGE_SECONDS: z.coerce.number().default(7 * 24 * 60 * 60),
8991
// Overrides the cron schedule for contract subscription jobs.
9092
CONTRACT_SUBSCRIPTION_CRON_SCHEDULE_OVERRIDE: z.string().optional(),
9193

@@ -151,6 +153,7 @@ export const env = createEnv({
151153
DD_TRACER_ACTIVATED: process.env.DD_TRACER_ACTIVATED,
152154
QUEUE_COMPLETE_HISTORY_COUNT: process.env.QUEUE_COMPLETE_HISTORY_COUNT,
153155
QUEUE_FAIL_HISTORY_COUNT: process.env.QUEUE_FAIL_HISTORY_COUNT,
156+
QUEUE_JOB_RETENTION_AGE_SECONDS: process.env.QUEUE_JOB_RETENTION_AGE_SECONDS,
154157
NONCE_MAP_COUNT: process.env.NONCE_MAP_COUNT,
155158
CONTRACT_SUBSCRIPTION_CRON_SCHEDULE_OVERRIDE:
156159
process.env.CONTRACT_SUBSCRIPTION_CRON_SCHEDULE_OVERRIDE,

src/worker/queues/queues.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ export const defaultJobOptions: JobsOptions = {
66
// Does not retry by default. Queues must explicitly define their own retry count and backoff behavior.
77
attempts: 0,
88
removeOnComplete: {
9-
age: 7 * 24 * 60 * 60,
9+
age: env.QUEUE_JOB_RETENTION_AGE_SECONDS,
1010
count: env.QUEUE_COMPLETE_HISTORY_COUNT,
1111
},
1212
removeOnFail: {
13-
age: 7 * 24 * 60 * 60,
13+
age: env.QUEUE_JOB_RETENTION_AGE_SECONDS,
1414
count: env.QUEUE_FAIL_HISTORY_COUNT,
1515
},
1616
};

0 commit comments

Comments
 (0)