import cron from 'node-cron'; import { cron_task_list } from '../config/cron_tasks.js'; import { execute_action_and_record } from './task_executor.js'; const cron_jobs = []; export function start_all_cron_tasks() { for (const task of cron_task_list) { const job = cron.schedule(task.cron_expression, async () => { try { await execute_action_and_record({ action_name: task.action_name, action_payload: task.action_payload || {}, source: 'cron' }); } catch (err) { // 失败会在 crawl_run_record 落库 } }); cron_jobs.push(job); } } export function stop_all_cron_tasks() { for (const job of cron_jobs) { job.stop(); } cron_jobs.length = 0; }