// generalWorker import { Worker } from 'bullmq'; import { connection } from '../../.config/bullmq.config.ts'; import { presignAllMuxAssets, presignMuxAsset } from '../processors/presignMuxAssets.ts'; import { copyV1VideoAll } from '../processors/copyV1VideoAll.ts'; import { copyV2ThumbToV3 } from '../processors/copyV2ThumbToV3.ts'; import { copyV1VideoToV3 } from '../processors/copyV1VideoToV3.ts'; import { createTorrent } from '../processors/createTorrent.ts'; import { analyzeAudio } from '../processors/analyzeAudio.ts'; import { findWork } from '../processors/findWork.ts'; import { getAnnounceUrlDetails } from '../processors/getAnnounceUrlDetails.ts'; new Worker( 'generalQueue', async (job) => { console.log('generalWorker. we got a job on the generalQueue.', job.data, job.name); switch (job.name) { case 'getAnnounceUrlDetails': return await getAnnounceUrlDetails(job); case 'findWork': return await findWork(job); case 'copyV1VideoAll': return await copyV1VideoAll(job); case 'copyV1VideoToV3': return await copyV1VideoToV3(job); case 'presignAllMuxAssets': return await presignAllMuxAssets(job); case 'presignMuxAsset': return await presignMuxAsset(job); case 'copyV2ThumbToV3': return await copyV2ThumbToV3(job); case 'createTorrent': return await createTorrent(job); case 'analyzeAudio': return await analyzeAudio(job); default: throw new Error(`Unknown job name: ${job.name}`); } }, { connection } ); console.log('generalWorker is running...');