2024-11-17 22:27:29 +01:00
|
|
|
import { CronJob } from "cron"
|
2025-01-26 19:29:43 +01:00
|
|
|
import logger from "@/logger.ts"
|
2024-11-17 22:27:29 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Run a function every day at 1 AM, Oslo time.
|
|
|
|
* @param onTick Function to run.
|
|
|
|
* @returns CronJob instance.
|
|
|
|
*/
|
|
|
|
export function cronJobDaily(onTick: () => Promise<void>): CronJob {
|
|
|
|
return CronJob.from({
|
|
|
|
cronTime: "0 0 1 * * *",
|
2025-01-26 19:29:43 +01:00
|
|
|
onTick: async () => {
|
|
|
|
logger.info("Starting daily job")
|
|
|
|
await onTick()
|
|
|
|
logger.info("Finished daily job")
|
|
|
|
},
|
2024-11-17 22:27:29 +01:00
|
|
|
start: true,
|
|
|
|
timeZone: "Europe/Oslo",
|
|
|
|
})
|
|
|
|
}
|