mirror of
https://github.com/mosh-hamedani/helpdesk.git
synced 2026-05-21 11:58:19 +02:00
31 lines
779 B
TypeScript
31 lines
779 B
TypeScript
import { PgBoss } from "pg-boss";
|
|
import Sentry from "./sentry";
|
|
import { registerClassifyWorker } from "./classify-ticket";
|
|
import { registerAutoResolveWorker } from "./auto-resolve-ticket";
|
|
import { registerSendEmailWorker } from "./send-email";
|
|
|
|
const boss = new PgBoss({
|
|
connectionString: process.env.DATABASE_URL!,
|
|
});
|
|
|
|
boss.on("error", (error) => {
|
|
Sentry.captureException(error);
|
|
console.error(error);
|
|
});
|
|
|
|
export { boss };
|
|
|
|
export async function startQueue(): Promise<void> {
|
|
await boss.start();
|
|
|
|
await registerClassifyWorker(boss);
|
|
await registerAutoResolveWorker(boss);
|
|
await registerSendEmailWorker(boss);
|
|
|
|
console.log("Job queue started");
|
|
}
|
|
|
|
export async function stopQueue(): Promise<void> {
|
|
await boss.stop({ graceful: true, timeout: 30000 });
|
|
}
|