From fb28d7b3d15403c0f4843fb104f6f6438819c258 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Thu, 18 Jan 2024 14:34:07 +0800 Subject: [PATCH] Enqueue new feeds at front --- packages/api/src/jobs/rss/refreshAllFeeds.ts | 6 +++++- packages/api/src/utils/createTask.ts | 4 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/api/src/jobs/rss/refreshAllFeeds.ts b/packages/api/src/jobs/rss/refreshAllFeeds.ts index 264b2db5a..c9b93f196 100644 --- a/packages/api/src/jobs/rss/refreshAllFeeds.ts +++ b/packages/api/src/jobs/rss/refreshAllFeeds.ts @@ -90,9 +90,12 @@ export const queueRSSRefreshAllFeedsJob = async () => { return queue.add('refresh-all-feeds', {}) } +type QueuePriority = 'low' | 'high' + export const queueRSSRefreshFeedJob = async ( jobid: string, - payload: any + payload: any, + options = { priority: 'high' as QueuePriority } ): Promise => { const queue = createBackendQueue() if (!queue) { @@ -102,5 +105,6 @@ export const queueRSSRefreshFeedJob = async ( jobId: jobid, removeOnComplete: true, removeOnFail: true, + lifo: options.priority == 'high', }) } diff --git a/packages/api/src/utils/createTask.ts b/packages/api/src/utils/createTask.ts index 3c38c4cfc..3d3b9f3ce 100644 --- a/packages/api/src/utils/createTask.ts +++ b/packages/api/src/utils/createTask.ts @@ -660,7 +660,9 @@ export const enqueueRssFeedFetch = async ( )}_${stringToHash(JSON.stringify(subscriptionGroup.userIds.sort()))}` if (redisDataSource.workerRedisClient) { - let job = await queueRSSRefreshFeedJob(jobid, payload) + let job = await queueRSSRefreshFeedJob(jobid, payload, { + priority: 'high', + }) if (!job || !job.id) { throw 'unable to queue rss-refresh-feed-job, job did not enqueue' }