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

23 lines
432 B
TypeScript

const runningJobs = new Map<string, boolean>()
/**
* A wrapper for cron jobs
*/
export function cronJob(name: string, cronFn: () => Promise<void>) {
return async () => {
if (runningJobs.get(name)) {
return
}
runningJobs.set(name, true)
try {
await cronFn()
} catch (error) {
console.error("Cron Error:", `[${name}]`, error)
} finally {
runningJobs.set(name, false)
}
}
}