Files
home/Projects/kompose/news/apps/backend/src/index.ts
2025-10-08 10:35:48 +02:00

45 lines
1012 B
TypeScript

export type * from "./app"
export type * from "../prisma/client"
export type * from "./types"
import { app } from "./app"
import { initializeCronJobs } from "./cron/cron"
import { prisma } from "./utils/prisma"
const cronController = initializeCronJobs()
const PORT = process.env.PORT || 5000
prisma.$connect().then(async () => {
console.log("Connected to database")
// For backwards compatibility, set all messages that have campaign status === "CANCELLED" to "CANCELLED"
await prisma.message.updateMany({
where: {
Campaign: {
status: "CANCELLED",
},
status: {
in: ["QUEUED", "PENDING", "RETRYING"],
},
},
data: {
status: "CANCELLED",
},
})
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`)
})
})
// Handle graceful shutdown
const shutdown = () => {
console.log("Shutting down cron jobs...")
cronController.stop()
process.exit(0)
}
process.on("SIGINT", shutdown)
process.on("SIGTERM", shutdown)