This commit is contained in:
张成
2026-03-18 14:18:41 +08:00
parent 54341f0a0b
commit 5b671d320b
21 changed files with 4404 additions and 42 deletions

View File

@@ -0,0 +1,30 @@
import cron from 'node-cron';
const task_id_to_cron_job = new Map();
export function stop_all_cron_jobs() {
for (const job of task_id_to_cron_job.values()) {
job.stop();
}
task_id_to_cron_job.clear();
}
export function upsert_cron_job(schedule_task_id, cron_expression, on_tick) {
const existing = task_id_to_cron_job.get(schedule_task_id);
if (existing) {
existing.stop();
task_id_to_cron_job.delete(schedule_task_id);
}
const job = cron.schedule(cron_expression, on_tick, { scheduled: true });
task_id_to_cron_job.set(schedule_task_id, job);
}
export function remove_cron_job(schedule_task_id) {
const job = task_id_to_cron_job.get(schedule_task_id);
if (!job) {
return;
}
job.stop();
task_id_to_cron_job.delete(schedule_task_id);
}