import { OUTBOUND_DELIVERY_QUEUE_NAME, startOutboundDeliveryWorker } from "./queues/outboundDelivery"; import { prisma } from "./utils/prisma"; import { getRedis } from "./utils/redis"; const worker = startOutboundDeliveryWorker(); console.log(`[omni_outbound] started queue ${OUTBOUND_DELIVERY_QUEUE_NAME}`); async function shutdown(signal: string) { console.log(`[omni_outbound] shutting down by ${signal}`); try { await worker.close(); } catch { // ignore shutdown errors } try { const redis = getRedis(); await redis.quit(); } catch { // ignore shutdown errors } try { await prisma.$disconnect(); } catch { // ignore shutdown errors } process.exit(0); } process.on("SIGINT", () => { void shutdown("SIGINT"); }); process.on("SIGTERM", () => { void shutdown("SIGTERM"); });