服务启动
This commit is contained in:
@@ -1,89 +1,153 @@
|
||||
-- ====================================================
|
||||
-- 定时任务表
|
||||
-- ====================================================
|
||||
DROP TABLE IF EXISTS `tb_crontab_task`;
|
||||
CREATE TABLE `tb_crontab_task` (
|
||||
`id` VARCHAR(64) NOT NULL COMMENT '主键ID',
|
||||
`task_id` VARCHAR(64) NOT NULL COMMENT '任务ID',
|
||||
`task_name` VARCHAR(100) NOT NULL COMMENT '任务名称',
|
||||
`task_group` VARCHAR(50) NOT NULL DEFAULT 'DEFAULT' COMMENT '任务分组',
|
||||
`meta_id` VARCHAR(64) NOT NULL COMMENT '任务元数据ID',
|
||||
`default_recipient` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否使用默认接收人(0:否 1:是)',
|
||||
`bean_name` VARCHAR(100) NOT NULL COMMENT 'Bean名称',
|
||||
`method_name` VARCHAR(100) NOT NULL COMMENT '方法名称',
|
||||
`method_params` VARCHAR(500) DEFAULT NULL COMMENT '方法参数',
|
||||
`cron_expression` VARCHAR(100) NOT NULL COMMENT 'Cron表达式',
|
||||
`status` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '任务状态(0:暂停 1:运行中)',
|
||||
`description` VARCHAR(500) DEFAULT NULL COMMENT '任务描述',
|
||||
`concurrent` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否允许并发执行(0:否 1:是)',
|
||||
`misfire_policy` TINYINT(1) NOT NULL DEFAULT 1 COMMENT '错过执行策略(1:立即执行 2:执行一次 3:放弃执行)',
|
||||
`creator` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
|
||||
`updater` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`delete_time` DATETIME DEFAULT NULL COMMENT '删除时间',
|
||||
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除(0:否 1:是)',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_task_name` (`task_name`),
|
||||
KEY `idx_bean_name` (`bean_name`),
|
||||
KEY `idx_status` (`status`),
|
||||
KEY `idx_deleted` (`deleted`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='定时任务配置表';
|
||||
CREATE SCHEMA IF NOT EXISTS crontab;
|
||||
DROP TABLE IF EXISTS crontab.tb_crontab_task CASCADE;
|
||||
CREATE TABLE crontab.tb_crontab_task (
|
||||
id VARCHAR(64) NOT NULL,
|
||||
task_id VARCHAR(64) NOT NULL,
|
||||
task_name VARCHAR(100) NOT NULL,
|
||||
task_group VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
|
||||
meta_id VARCHAR(64) NOT NULL,
|
||||
default_recipient SMALLINT NOT NULL DEFAULT 0, -- 是否使用默认接收人(0:否 1:是)
|
||||
bean_name VARCHAR(100) NOT NULL,
|
||||
method_name VARCHAR(100) NOT NULL,
|
||||
method_params VARCHAR(500) DEFAULT NULL,
|
||||
cron_expression VARCHAR(100) NOT NULL,
|
||||
status SMALLINT NOT NULL DEFAULT 0, -- 任务状态(0:暂停 1:运行中)
|
||||
description VARCHAR(500) DEFAULT NULL,
|
||||
concurrent SMALLINT NOT NULL DEFAULT 0, -- 是否允许并发执行(0:否 1:是)
|
||||
misfire_policy SMALLINT NOT NULL DEFAULT 1, -- 错过执行策略(1:立即执行 2:执行一次 3:放弃执行)
|
||||
creator VARCHAR(64) DEFAULT NULL,
|
||||
updater VARCHAR(64) DEFAULT NULL,
|
||||
create_time TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||||
update_time TIMESTAMPTZ DEFAULT NULL,
|
||||
delete_time TIMESTAMPTZ DEFAULT NULL,
|
||||
deleted SMALLINT NOT NULL DEFAULT 0, -- 是否删除(0:否 1:是)
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_task_name ON crontab.tb_crontab_task(task_name);
|
||||
CREATE INDEX IF NOT EXISTS idx_bean_name ON crontab.tb_crontab_task(bean_name);
|
||||
CREATE INDEX IF NOT EXISTS idx_status ON crontab.tb_crontab_task(status);
|
||||
CREATE INDEX IF NOT EXISTS idx_deleted ON crontab.tb_crontab_task(deleted);
|
||||
|
||||
COMMENT ON TABLE crontab.tb_crontab_task IS '定时任务配置表';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task.id IS '主键ID';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task.task_id IS '任务ID';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task.task_name IS '任务名称';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task.task_group IS '任务分组';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task.meta_id IS '任务元数据ID';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task.default_recipient IS '是否使用默认接收人(0:否 1:是)';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task.bean_name IS 'Bean名称';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task.method_name IS '方法名称';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task.method_params IS '方法参数';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task.cron_expression IS 'Cron表达式';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task.status IS '任务状态(0:暂停 1:运行中)';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task.description IS '任务描述';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task.concurrent IS '是否允许并发执行(0:否 1:是)';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task.misfire_policy IS '错过执行策略(1:立即执行 2:执行一次 3:放弃执行)';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task.creator IS '创建者';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task.updater IS '更新者';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task.create_time IS '创建时间';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task.update_time IS '更新时间';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task.delete_time IS '删除时间';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task.deleted IS '是否删除(0:否 1:是)';
|
||||
|
||||
-- ====================================================
|
||||
-- 定时任务执行日志表
|
||||
-- ====================================================
|
||||
DROP TABLE IF EXISTS `tb_crontab_log`;
|
||||
CREATE TABLE `tb_crontab_log` (
|
||||
`id` VARCHAR(64) NOT NULL COMMENT '主键ID',
|
||||
`task_id` VARCHAR(64) NOT NULL COMMENT '任务ID',
|
||||
`task_name` VARCHAR(100) NOT NULL COMMENT '任务名称',
|
||||
`task_group` VARCHAR(50) NOT NULL DEFAULT 'DEFAULT' COMMENT '任务分组',
|
||||
`bean_name` VARCHAR(100) NOT NULL COMMENT 'Bean名称',
|
||||
`method_name` VARCHAR(100) NOT NULL COMMENT '方法名称',
|
||||
`method_params` VARCHAR(500) DEFAULT NULL COMMENT '方法参数',
|
||||
`execute_status` TINYINT(1) NOT NULL COMMENT '执行状态(0:失败 1:成功)',
|
||||
`execute_message` TEXT DEFAULT NULL COMMENT '执行结果信息',
|
||||
`exception_info` TEXT DEFAULT NULL COMMENT '异常信息',
|
||||
`start_time` DATETIME NOT NULL COMMENT '开始时间',
|
||||
`end_time` DATETIME DEFAULT NULL COMMENT '结束时间',
|
||||
`execute_duration` INT DEFAULT NULL COMMENT '执行时长(毫秒)',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`delete_time` DATETIME DEFAULT NULL COMMENT '删除时间',
|
||||
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除(0:否 1:是)',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_task_id` (`task_id`),
|
||||
KEY `idx_task_name` (`task_name`),
|
||||
KEY `idx_execute_status` (`execute_status`),
|
||||
KEY `idx_start_time` (`start_time`),
|
||||
KEY `idx_deleted` (`deleted`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='定时任务执行日志表';
|
||||
DROP TABLE IF EXISTS crontab.tb_crontab_log CASCADE;
|
||||
CREATE TABLE crontab.tb_crontab_log (
|
||||
id VARCHAR(64) NOT NULL,
|
||||
task_id VARCHAR(64) NOT NULL,
|
||||
task_name VARCHAR(100) NOT NULL,
|
||||
task_group VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
|
||||
bean_name VARCHAR(100) NOT NULL,
|
||||
method_name VARCHAR(100) NOT NULL,
|
||||
method_params VARCHAR(500) DEFAULT NULL,
|
||||
execute_status SMALLINT NOT NULL, -- 执行状态(0:失败 1:成功)
|
||||
execute_message TEXT DEFAULT NULL,
|
||||
exception_info TEXT DEFAULT NULL,
|
||||
start_time TIMESTAMPTZ NOT NULL,
|
||||
end_time TIMESTAMPTZ DEFAULT NULL,
|
||||
execute_duration INT DEFAULT NULL,
|
||||
create_time TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||||
update_time TIMESTAMPTZ DEFAULT NULL,
|
||||
delete_time TIMESTAMPTZ DEFAULT NULL,
|
||||
deleted SMALLINT NOT NULL DEFAULT 0, -- 是否删除(0:否 1:是)
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_task_id ON crontab.tb_crontab_log(task_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_log_task_name ON crontab.tb_crontab_log(task_name);
|
||||
CREATE INDEX IF NOT EXISTS idx_execute_status ON crontab.tb_crontab_log(execute_status);
|
||||
CREATE INDEX IF NOT EXISTS idx_start_time ON crontab.tb_crontab_log(start_time);
|
||||
CREATE INDEX IF NOT EXISTS idx_log_deleted ON crontab.tb_crontab_log(deleted);
|
||||
|
||||
COMMENT ON TABLE crontab.tb_crontab_log IS '定时任务执行日志表';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_log.id IS '主键ID';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_log.task_id IS '任务ID';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_log.task_name IS '任务名称';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_log.task_group IS '任务分组';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_log.bean_name IS 'Bean名称';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_log.method_name IS '方法名称';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_log.method_params IS '方法参数';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_log.execute_status IS '执行状态(0:失败 1:成功)';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_log.execute_message IS '执行结果信息';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_log.exception_info IS '异常信息';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_log.start_time IS '开始时间';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_log.end_time IS '结束时间';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_log.execute_duration IS '执行时长(毫秒)';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_log.create_time IS '创建时间';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_log.update_time IS '更新时间';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_log.delete_time IS '删除时间';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_log.deleted IS '是否删除(0:否 1:是)';
|
||||
|
||||
-- ====================================================
|
||||
-- 定时任务元数据表(存储爬虫任务的元数据配置)
|
||||
-- ====================================================
|
||||
DROP TABLE IF EXISTS `tb_crontab_task_meta`;
|
||||
CREATE TABLE `tb_crontab_task_meta` (
|
||||
`id` VARCHAR(64) NOT NULL COMMENT '主键ID',
|
||||
`meta_id` VARCHAR(64) NOT NULL COMMENT '元数据ID',
|
||||
`name` VARCHAR(100) NOT NULL COMMENT '任务名称',
|
||||
`description` VARCHAR(500) DEFAULT NULL COMMENT '任务描述',
|
||||
`category` VARCHAR(50) NOT NULL COMMENT '任务分类(如:人民日报新闻爬取)',
|
||||
`bean_name` VARCHAR(100) NOT NULL COMMENT 'Bean名称(执行器类名)',
|
||||
`method_name` VARCHAR(100) NOT NULL COMMENT '执行方法名',
|
||||
`script_path` VARCHAR(255) DEFAULT NULL COMMENT 'Python脚本路径(相对于basePath)',
|
||||
`param_schema` TEXT DEFAULT NULL COMMENT '参数模板(JSON格式,定义参数名、类型、描述、默认值等)',
|
||||
`auto_publish` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否自动发布',
|
||||
`sort_order` INT DEFAULT 0 COMMENT '排序号',
|
||||
`creator` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
|
||||
`updater` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`delete_time` DATETIME DEFAULT NULL COMMENT '删除时间',
|
||||
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除(0:否 1:是)',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_meta_id` (`meta_id`),
|
||||
KEY `idx_category` (`category`),
|
||||
KEY `idx_deleted` (`deleted`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='定时任务元数据表';
|
||||
DROP TABLE IF EXISTS crontab.tb_crontab_task_meta CASCADE;
|
||||
CREATE TABLE crontab.tb_crontab_task_meta (
|
||||
id VARCHAR(64) NOT NULL,
|
||||
meta_id VARCHAR(64) NOT NULL,
|
||||
name VARCHAR(100) NOT NULL,
|
||||
description VARCHAR(500) DEFAULT NULL,
|
||||
category VARCHAR(50) NOT NULL,
|
||||
bean_name VARCHAR(100) NOT NULL,
|
||||
method_name VARCHAR(100) NOT NULL,
|
||||
script_path VARCHAR(255) DEFAULT NULL,
|
||||
param_schema TEXT DEFAULT NULL,
|
||||
auto_publish SMALLINT NOT NULL DEFAULT 0, -- 是否自动发布
|
||||
sort_order INT DEFAULT 0,
|
||||
creator VARCHAR(64) DEFAULT NULL,
|
||||
updater VARCHAR(64) DEFAULT NULL,
|
||||
create_time TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||||
update_time TIMESTAMPTZ DEFAULT NULL,
|
||||
delete_time TIMESTAMPTZ DEFAULT NULL,
|
||||
deleted SMALLINT NOT NULL DEFAULT 0, -- 是否删除(0:否 1:是)
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE (meta_id)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_category ON crontab.tb_crontab_task_meta(category);
|
||||
CREATE INDEX IF NOT EXISTS idx_meta_deleted ON crontab.tb_crontab_task_meta(deleted);
|
||||
|
||||
COMMENT ON TABLE crontab.tb_crontab_task_meta IS '定时任务元数据表';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task_meta.id IS '主键ID';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task_meta.meta_id IS '元数据ID';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task_meta.name IS '任务名称';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task_meta.description IS '任务描述';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task_meta.category IS '任务分类(如:人民日报新闻爬取)';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task_meta.bean_name IS 'Bean名称(执行器类名)';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task_meta.method_name IS '执行方法名';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task_meta.script_path IS 'Python脚本路径(相对于basePath)';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task_meta.param_schema IS '参数模板(JSON格式,定义参数名、类型、描述、默认值等)';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task_meta.auto_publish IS '是否自动发布';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task_meta.sort_order IS '排序号';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task_meta.creator IS '创建者';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task_meta.updater IS '更新者';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task_meta.create_time IS '创建时间';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task_meta.update_time IS '更新时间';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task_meta.delete_time IS '删除时间';
|
||||
COMMENT ON COLUMN crontab.tb_crontab_task_meta.deleted IS '是否删除(0:否 1:是)';
|
||||
Reference in New Issue
Block a user