38 lines
2.0 KiB
SQL
38 lines
2.0 KiB
SQL
SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||
|
||
|
||
-- 使用 utf8mb4 连接字符集,保证中文注释、中文名称和 emoji 在导入时不被降级。
|
||
CREATE DATABASE IF NOT EXISTS hyapp_cron DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||
|
||
USE hyapp_cron;
|
||
|
||
CREATE TABLE IF NOT EXISTS cron_task_leases (
|
||
task_name VARCHAR(96) NOT NULL COMMENT '任务名称',
|
||
app_code VARCHAR(32) NOT NULL COMMENT '应用编码,用于多租户隔离',
|
||
owner_node_id VARCHAR(128) NOT NULL COMMENT '房主节点 ID',
|
||
lease_until_ms BIGINT NOT NULL COMMENT '租约截止时间,UTC epoch ms',
|
||
updated_at_ms BIGINT NOT NULL COMMENT '更新时间,UTC epoch ms',
|
||
PRIMARY KEY (task_name, app_code),
|
||
KEY idx_cron_task_leases_expire (lease_until_ms)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='定时任务租约表';
|
||
|
||
CREATE TABLE IF NOT EXISTS cron_task_runs (
|
||
run_id VARCHAR(96) NOT NULL COMMENT '运行 ID',
|
||
task_name VARCHAR(96) NOT NULL COMMENT '任务名称',
|
||
app_code VARCHAR(32) NOT NULL COMMENT '应用编码,用于多租户隔离',
|
||
owner_node_id VARCHAR(128) NOT NULL COMMENT '房主节点 ID',
|
||
status VARCHAR(32) NOT NULL COMMENT '业务状态',
|
||
claimed_count INT NOT NULL DEFAULT 0 COMMENT '认领数量',
|
||
processed_count INT NOT NULL DEFAULT 0 COMMENT '处理数量',
|
||
success_count INT NOT NULL DEFAULT 0 COMMENT '成功数量',
|
||
failure_count INT NOT NULL DEFAULT 0 COMMENT '失败数量',
|
||
started_at_ms BIGINT NOT NULL COMMENT '开始时间,UTC epoch ms',
|
||
finished_at_ms BIGINT NULL COMMENT '结束时间,UTC epoch ms',
|
||
duration_ms BIGINT NOT NULL DEFAULT 0 COMMENT '持续时长,毫秒',
|
||
error_message VARCHAR(512) NOT NULL DEFAULT '' COMMENT '错误消息',
|
||
PRIMARY KEY (run_id),
|
||
KEY idx_cron_task_runs_task_time (task_name, app_code, started_at_ms),
|
||
KEY idx_cron_task_runs_status (status, started_at_ms)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='定时任务运行记录表';
|
||
|