mirror of
https://github.com/eliasstepanik/core.git
synced 2026-01-11 18:08:27 +00:00
44 lines
1.3 KiB
TypeScript
44 lines
1.3 KiB
TypeScript
/**
|
|
* BullMQ Worker Startup Script
|
|
*
|
|
* This script starts all BullMQ workers for processing background jobs.
|
|
* Run this as a separate process alongside your main application.
|
|
*
|
|
* Usage:
|
|
* tsx apps/webapp/app/bullmq/start-workers.ts
|
|
*/
|
|
|
|
import { logger } from "~/services/logger.service";
|
|
import {
|
|
ingestWorker,
|
|
documentIngestWorker,
|
|
conversationTitleWorker,
|
|
deepSearchWorker,
|
|
sessionCompactionWorker,
|
|
closeAllWorkers,
|
|
} from "./workers";
|
|
|
|
export async function startWorkers() {}
|
|
|
|
// Handle graceful shutdown
|
|
process.on("SIGTERM", async () => {
|
|
logger.log("SIGTERM received, closing workers gracefully...");
|
|
await closeAllWorkers();
|
|
process.exit(0);
|
|
});
|
|
|
|
process.on("SIGINT", async () => {
|
|
logger.log("SIGINT received, closing workers gracefully...");
|
|
await closeAllWorkers();
|
|
process.exit(0);
|
|
});
|
|
|
|
// Log worker startup
|
|
logger.log("Starting BullMQ workers...");
|
|
logger.log(`- Ingest worker: ${ingestWorker.name}`);
|
|
logger.log(`- Document ingest worker: ${documentIngestWorker.name}`);
|
|
logger.log(`- Conversation title worker: ${conversationTitleWorker.name}`);
|
|
logger.log(`- Deep search worker: ${deepSearchWorker.name}`);
|
|
logger.log(`- Session compaction worker: ${sessionCompactionWorker.name}`);
|
|
logger.log("All BullMQ workers started and listening for jobs");
|