2026-05-18 03:47:22 +01:00
|
|
|
/**
|
|
|
|
|
* BullMQ queue names. Always import from here so producers and workers stay
|
|
|
|
|
* in sync, and so it's trivial to grep for everything that touches a queue.
|
|
|
|
|
*/
|
|
|
|
|
export const QUEUE_NAMES = {
|
|
|
|
|
media: 'media',
|
|
|
|
|
mediaTranscribe: 'media-transcribe',
|
|
|
|
|
emails: 'emails',
|
|
|
|
|
notifications: 'notifications',
|
|
|
|
|
webhooks: 'webhooks',
|
|
|
|
|
courseImports: 'course-imports',
|
2026-06-07 18:43:05 +01:00
|
|
|
agentCourseGeneration: 'agent-course-generation',
|
2026-05-18 03:47:22 +01:00
|
|
|
onboardingBootstrap: 'onboarding-bootstrap',
|
|
|
|
|
maintenance: 'maintenance'
|
|
|
|
|
} as const;
|
|
|
|
|
|
|
|
|
|
export type QueueName = (typeof QUEUE_NAMES)[keyof typeof QUEUE_NAMES];
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* BullMQ job names within each queue. Workers route on `(queueName, jobName)`,
|
|
|
|
|
* so keep the strings here too.
|
|
|
|
|
*/
|
|
|
|
|
export const JOB_NAMES = {
|
|
|
|
|
media: {
|
|
|
|
|
probeMetadata: 'probe-metadata',
|
|
|
|
|
generateThumbnail: 'generate-thumbnail',
|
|
|
|
|
extractAudio: 'extract-audio',
|
|
|
|
|
compressVideo: 'compress-video'
|
|
|
|
|
},
|
|
|
|
|
mediaTranscribe: {
|
|
|
|
|
transcribeAudio: 'transcribe-audio'
|
|
|
|
|
},
|
|
|
|
|
emails: {
|
|
|
|
|
send: 'send'
|
|
|
|
|
},
|
2026-06-22 05:43:48 +01:00
|
|
|
notifications: {
|
|
|
|
|
notifyCourseExercise: 'notify-course-exercise',
|
|
|
|
|
sessionReminderScan: 'session-reminder-scan',
|
|
|
|
|
notifyCourseSessionUpdate: 'notify-course-session-update'
|
|
|
|
|
},
|
2026-05-18 03:47:22 +01:00
|
|
|
webhooks: {
|
|
|
|
|
deliver: 'deliver'
|
|
|
|
|
},
|
2026-06-07 18:43:05 +01:00
|
|
|
agentCourseGeneration: {
|
|
|
|
|
run: 'run'
|
|
|
|
|
},
|
2026-05-18 03:47:22 +01:00
|
|
|
maintenance: {
|
|
|
|
|
retentionCompact: 'retention-compact',
|
2026-05-20 14:07:45 +01:00
|
|
|
deadLetterCleanup: 'dead-letter-cleanup',
|
2026-06-07 18:43:05 +01:00
|
|
|
mediaJobReap: 'media-job-reap',
|
|
|
|
|
analyticsDailyRollup: 'analytics-daily-rollup'
|
2026-05-18 03:47:22 +01:00
|
|
|
}
|
|
|
|
|
} as const;
|