35 lines
868 B
TypeScript
35 lines
868 B
TypeScript
import { OUTBOUND_DELIVERY_QUEUE_NAME, startOutboundDeliveryWorker } from "./outboundDelivery";
|
|
import { prisma } from "../utils/prisma";
|
|
import { getRedis } from "../utils/redis";
|
|
|
|
const worker = startOutboundDeliveryWorker();
|
|
console.log(`[omni_outbound(legacy-in-frontend)] started queue ${OUTBOUND_DELIVERY_QUEUE_NAME}`);
|
|
|
|
async function shutdown(signal: string) {
|
|
console.log(`[omni_outbound(legacy-in-frontend)] 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");
|
|
});
|