diff --git a/packages/api/src/jobs/rss/refreshAllFeeds.ts b/packages/api/src/jobs/rss/refreshAllFeeds.ts index 5a50e41ce..ef49bacac 100644 --- a/packages/api/src/jobs/rss/refreshAllFeeds.ts +++ b/packages/api/src/jobs/rss/refreshAllFeeds.ts @@ -137,8 +137,6 @@ export const queueRSSRefreshFeedJob = async ( } return queue.add('refresh-feed', payload, { jobId: jobid, - removeOnComplete: true, - removeOnFail: true, priority: options.priority == 'low' ? 10 : 50, }) } diff --git a/packages/api/src/queue-processor.ts b/packages/api/src/queue-processor.ts index b93b327d9..8eb4d40de 100644 --- a/packages/api/src/queue-processor.ts +++ b/packages/api/src/queue-processor.ts @@ -49,6 +49,18 @@ export const getBackendQueue = async (): Promise => { } backendQueue = new Queue(QUEUE_NAME, { connection: redisDataSource.workerRedisClient, + defaultJobOptions: { + backoff: { + type: 'exponential', + delay: 2000, // 2 seconds + }, + removeOnComplete: { + age: 24 * 3600, // keep up to 24 hours + }, + removeOnFail: { + age: 7 * 24 * 3600, // keep up to 7 days + }, + }, }) await backendQueue.waitUntilReady() return backendQueue diff --git a/packages/api/src/utils/createTask.ts b/packages/api/src/utils/createTask.ts index 3973d355c..3f9a6b70b 100644 --- a/packages/api/src/utils/createTask.ts +++ b/packages/api/src/utils/createTask.ts @@ -666,8 +666,6 @@ export const enqueueTriggerRuleJob = async (data: TriggerRuleJobData) => { return queue.add(TRIGGER_RULE_JOB_NAME, data, { priority: 5, attempts: 1, - removeOnComplete: true, - removeOnFail: true, }) } @@ -680,8 +678,6 @@ export const enqueueWebhookJob = async (data: CallWebhookJobData) => { return queue.add(CALL_WEBHOOK_JOB_NAME, data, { priority: 5, attempts: 1, - removeOnComplete: true, - removeOnFail: true, }) } @@ -698,10 +694,6 @@ export const bulkEnqueueUpdateLabels = async (data: UpdateLabelsData[]) => { jobId: `${UPDATE_LABELS_JOB}_${d.libraryItemId}`, attempts: 6, priority: 1, - backoff: { - type: 'exponential', - delay: 1000, - }, }, })) @@ -724,10 +716,6 @@ export const enqueueUpdateHighlight = async (data: UpdateHighlightData) => { jobId: `${UPDATE_HIGHLIGHT_JOB}_${data.libraryItemId}`, attempts: 6, priority: 1, - backoff: { - type: 'exponential', - delay: 1000, - }, }) } catch (error) { logger.error('error enqueuing update highlight job', error) @@ -747,8 +735,6 @@ export const enqueueBulkAction = async (data: BulkActionData) => { attempts: 1, priority: 10, jobId, // deduplication - removeOnComplete: true, - removeOnFail: true, }) } catch (error) { logger.error('error enqueuing bulk action job', error)