import { Worker, type Job } from 'bullmq'; import type { ConnectionOptions } from 'bullmq'; import { logger } from '@/lib/logger'; import { QUEUE_CONFIGS } from '@/lib/queue'; export const importWorker = new Worker( 'import', async (job: Job) => { logger.info({ jobId: job.id, jobName: job.name }, 'Processing import job'); // TODO(L2): implement import job handlers // - CSV client import // - Excel berth spec import // - Note: maxAttempts=1 — imports are idempotent, user retries manually }, { connection: { url: process.env.REDIS_URL! } as ConnectionOptions, concurrency: QUEUE_CONFIGS.import.concurrency, }, ); importWorker.on('failed', (job, err) => { logger.error({ jobId: job?.id, jobName: job?.name, err }, 'Import job failed'); });