add bulk upload original content job

This commit is contained in:
Hongbo Wu
2024-05-10 14:37:05 +08:00
parent a56562041d
commit 01ebcbb16b
12 changed files with 189 additions and 48 deletions

View File

@ -53,6 +53,10 @@ import {
UPDATE_HIGHLIGHT_JOB,
UPDATE_LABELS_JOB,
} from '../jobs/update_db'
import {
UploadContentJobData,
UPLOAD_CONTENT_JOB,
} from '../jobs/upload_content'
import { getBackendQueue, JOB_VERSION } from '../queue-processor'
import { redisDataSource } from '../redis_data_source'
import { writeDigest } from '../services/digest'
@ -94,6 +98,7 @@ export const getJobPriority = (jobName: string): number => {
case `${REFRESH_FEED_JOB_NAME}_low`:
case EXPORT_ITEM_JOB_NAME:
case CREATE_DIGEST_JOB:
case UPLOAD_CONTENT_JOB:
return 50
case EXPORT_ALL_ITEMS_JOB_NAME:
case REFRESH_ALL_FEEDS_JOB_NAME:
@ -953,4 +958,24 @@ export const enqueueCreateDigest = async (
}
}
export const enqueueBulkUploadContentJob = async (
data: UploadContentJobData[]
) => {
const queue = await getBackendQueue()
if (!queue) {
return ''
}
const jobs = data.map((d) => ({
name: UPLOAD_CONTENT_JOB,
data: d,
opts: {
attempts: 3,
priority: getJobPriority(UPLOAD_CONTENT_JOB),
},
}))
return queue.addBulk(jobs)
}
export default createHttpTaskWithToken