import { Worker, type Job } from 'bullmq'; import { env } from '@/lib/env'; import type { ConnectionOptions } from 'bullmq'; import { logger } from '@/lib/logger'; import { attachWorkerAudit } from '@/lib/queue/audit-helpers'; 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: 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'); }); attachWorkerAudit(importWorker, 'import');