diff --git a/packages/api/src/utils/createTask.ts b/packages/api/src/utils/createTask.ts index e4f2f6ab1..df9e08878 100644 --- a/packages/api/src/utils/createTask.ts +++ b/packages/api/src/utils/createTask.ts @@ -283,6 +283,7 @@ export const enqueueParseRequest = async ({ publishedAt, folder, rssFeedUrl, + priority, } // If there is no Google Cloud Project Id exposed, it means that we are in local environment diff --git a/packages/content-fetch/src/job.ts b/packages/content-fetch/src/job.ts index dcdfc2e52..8d88472f9 100644 --- a/packages/content-fetch/src/job.ts +++ b/packages/content-fetch/src/job.ts @@ -9,6 +9,7 @@ interface savePageJob { data: unknown isRss: boolean isImport: boolean + priority: 'low' | 'high' } const queue = new Queue(QUEUE_NAME, { @@ -29,7 +30,7 @@ const getPriority = (job: savePageJob): number => { return 100 } - return 1 + return job.priority === 'low' ? 10 : 1 } const getAttempts = (job: savePageJob): number => { diff --git a/packages/content-fetch/src/request_handler.ts b/packages/content-fetch/src/request_handler.ts index d0c3067f1..9da92e464 100644 --- a/packages/content-fetch/src/request_handler.ts +++ b/packages/content-fetch/src/request_handler.ts @@ -23,6 +23,7 @@ interface RequestBody { publishedAt?: string folder?: string users?: User[] + priority: 'high' | 'low' } interface LogRecord { @@ -88,6 +89,7 @@ export const contentFetchRequestHandler: RequestHandler = async (req, res) => { const rssFeedUrl = body.rssFeedUrl const savedAt = body.savedAt const publishedAt = body.publishedAt + const priority = body.priority const logRecord: LogRecord = { url, @@ -130,6 +132,7 @@ export const contentFetchRequestHandler: RequestHandler = async (req, res) => { }, isRss: !!rssFeedUrl, isImport: !!taskId, + priority, })) const cacheResult = await cacheFetchResult(fetchResult)