fix(worker): canonical-backfill Worker'ını worker.ts'e bağla
Önceki commit'te (7b5e678) src/worker.ts git add kapsamı dışında kaldı
(apps/api/src/jobs/ eklendi ama worker.ts src/ altında). Queue/processor
deploy oldu ama tüketici Worker yoktu → enqueue edilen job'lar 'waiting'de
takıldı. Bu commit Worker instance'ını ekler.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -8,6 +8,7 @@ import Redis from "ioredis";
|
||||
import OpenAI from "openai";
|
||||
import postgres from "postgres";
|
||||
import { QUEUE_NAMES, getBullConnection, getBullTelemetry } from "./jobs/bull.config";
|
||||
import { processCanonicalBackfill } from "./jobs/processors/canonical-backfill.processor";
|
||||
import { processEmexScrape } from "./jobs/processors/emex-scrape.processor";
|
||||
import { processExpertRewards } from "./jobs/processors/expert-rewards.processor";
|
||||
import { processLifecycleEmails } from "./jobs/processors/lifecycle-email.processor";
|
||||
@@ -242,6 +243,33 @@ vinpinDecodeWorker.on("failed", (job, err) => {
|
||||
|
||||
workers.push(vinpinDecodeWorker);
|
||||
|
||||
// Canonical Backfill Worker (maps raw OEM category names → unified taxonomy).
|
||||
// On-demand only (no cron); a single pass is a big sweep so concurrency 1.
|
||||
const canonicalBackfillWorker = new Worker(
|
||||
QUEUE_NAMES.CANONICAL_BACKFILL,
|
||||
async (job) => {
|
||||
return processCanonicalBackfill(job, db);
|
||||
},
|
||||
{
|
||||
connection,
|
||||
concurrency: 1,
|
||||
...(telemetry ? { telemetry } : {}),
|
||||
},
|
||||
);
|
||||
|
||||
canonicalBackfillWorker.on("completed", (job) => {
|
||||
console.log(`[worker] canonical-backfill job ${job.id} completed`);
|
||||
});
|
||||
|
||||
canonicalBackfillWorker.on("failed", (job, err) => {
|
||||
console.error(`[worker] canonical-backfill job ${job?.id} failed: ${err.message}`);
|
||||
Sentry.captureException(err, {
|
||||
tags: { queue: QUEUE_NAMES.CANONICAL_BACKFILL, jobId: job?.id },
|
||||
});
|
||||
});
|
||||
|
||||
workers.push(canonicalBackfillWorker);
|
||||
|
||||
// Translation Worker (async LLM translation for new EMEX/PCAT terms)
|
||||
const openrouterApiKey = process.env.OPENROUTER_API_KEY;
|
||||
if (openrouterApiKey) {
|
||||
|
||||
Reference in New Issue
Block a user