1
This commit is contained in:
@@ -1,30 +1 @@
|
||||
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);
|
||||
}
|
||||
// 已废弃:按需求改为写死定时任务(见 config/cron_tasks.js)
|
||||
|
||||
Reference in New Issue
Block a user