CREATE TABLE IF NOT EXISTS main_task (
    task_id INT AUTO_INCREMENT PRIMARY KEY COMMENT '任务唯一ID',
    task_name VARCHAR(100) NOT NULL COMMENT '任务名称',
    task_type VARCHAR(50) NOT NULL COMMENT '任务类型（如processor、collector等）',
    module_path VARCHAR(255) NOT NULL COMMENT '任务模块路径（如processors.data_checker）',
    cron_expression VARCHAR(100) NOT NULL COMMENT 'Cron表达式（调度频率）',
    time_zone VARCHAR(50) DEFAULT 'Asia/Shanghai' COMMENT '时区', -- 补充此字段
    next_run_time DATETIME NOT NULL COMMENT '下次运行时间',
    last_run_time DATETIME NULL COMMENT '上次运行时间',
    last_run_status ENUM('success', 'failed', 'pending') DEFAULT 'pending' COMMENT '上次运行状态',
    run_count INT DEFAULT 0 COMMENT '运行次数统计',
    is_active TINYINT(1) DEFAULT 1 COMMENT '是否活跃（1=启用，0=禁用）',
    is_running TINYINT(1) DEFAULT 0 COMMENT '是否正在运行（1=运行中，0=未运行）',
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    INDEX idx_next_run (next_run_time) COMMENT '优化下次运行时间查询', -- 建议保留索引提升性能
    INDEX idx_active (is_active) COMMENT '优化活跃任务查询' -- 建议保留索引提升性能
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='任务调度主表';