-- PostgreSQL DDL CREATE TABLE group_config ( id BIGSERIAL PRIMARY KEY, group_name VARCHAR(64) NOT NULL, description VARCHAR(256) NOT NULL, group_status SMALLINT NOT NULL DEFAULT 0, version INT NOT NULL, group_partition INT NOT NULL, id_generator_mode SMALLINT NOT NULL DEFAULT 1, init_scene SMALLINT NOT NULL DEFAULT 0, bucket_index INT NOT NULL DEFAULT 0, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE UNIQUE INDEX "uk_name_group_config" ON "group_config" ("group_name"); COMMENT ON COLUMN "group_config"."id" IS '主键'; COMMENT ON COLUMN "group_config"."group_name" IS '组名称'; COMMENT ON COLUMN "group_config"."description" IS '组描述'; COMMENT ON COLUMN "group_config"."group_status" IS '组状态 0、未启用 1、启用'; COMMENT ON COLUMN "group_config"."version" IS '版本号'; COMMENT ON COLUMN "group_config"."group_partition" IS '分区'; COMMENT ON COLUMN "group_config"."id_generator_mode" IS '唯一id生成模式 默认号段模式'; COMMENT ON COLUMN "group_config"."init_scene" IS '是否初始化场景 0:否 1:是'; COMMENT ON COLUMN "group_config"."bucket_index" IS 'bucket'; COMMENT ON COLUMN "group_config"."create_dt" IS '创建时间'; COMMENT ON COLUMN "group_config"."update_dt" IS '修改时间'; COMMENT ON TABLE "group_config" IS '组配置'; CREATE TABLE notify_config ( id BIGSERIAL PRIMARY KEY, group_name VARCHAR(64) NOT NULL, notify_type SMALLINT NOT NULL DEFAULT 0, notify_attribute VARCHAR(512) NOT NULL, notify_threshold INT NOT NULL DEFAULT 0, notify_scene SMALLINT NOT NULL DEFAULT 0, description VARCHAR(256) NOT NULL DEFAULT '', create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE INDEX idx_group_name ON notify_config (group_name); COMMENT ON COLUMN "notify_config"."id" IS '主键'; COMMENT ON COLUMN "notify_config"."group_name" IS '组名称'; COMMENT ON COLUMN "notify_config"."notify_type" IS '通知类型 1、钉钉 2、邮件 3、企业微信'; COMMENT ON COLUMN "notify_config"."notify_attribute" IS '配置属性'; COMMENT ON COLUMN "notify_config"."notify_threshold" IS '通知阈值'; COMMENT ON COLUMN "notify_config"."notify_scene" IS '通知场景'; COMMENT ON COLUMN "notify_config"."description" IS '描述'; COMMENT ON COLUMN "notify_config"."create_dt" IS '创建时间'; COMMENT ON COLUMN "notify_config"."update_dt" IS '修改时间'; COMMENT ON TABLE "notify_config" IS '通知配置'; CREATE TABLE retry_dead_letter_0 ( id BIGSERIAL PRIMARY KEY, unique_id VARCHAR(64) NOT NULL, group_name VARCHAR(64) NOT NULL, scene_name VARCHAR(64) NOT NULL, idempotent_id VARCHAR(64) NOT NULL, biz_no VARCHAR(64) NOT NULL DEFAULT '', executor_name VARCHAR(512) NOT NULL DEFAULT '', args_str TEXT NOT NULL, ext_attrs TEXT NOT NULL, task_type SMALLINT NOT NULL DEFAULT 1, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE UNIQUE INDEX "uk_name_unique_id_retry_dead_letter" ON "retry_dead_letter_0" ("group_name", "unique_id"); CREATE INDEX "idx_group_name_scene_name_retry_dead_letter" ON "retry_dead_letter_0" ("group_name", "scene_name"); CREATE INDEX "idx_idempotent_id_retry_dead_letter" ON "retry_dead_letter_0" ("idempotent_id"); CREATE INDEX "idx_biz_no_retry_dead_letter" ON "retry_dead_letter_0" ("biz_no"); CREATE INDEX "idx_create_dt_retry_dead_letter" ON "retry_dead_letter_0" ("create_dt"); COMMENT ON COLUMN "retry_dead_letter_0"."id" IS '主键'; COMMENT ON COLUMN "retry_dead_letter_0"."unique_id" IS '同组下id唯一'; COMMENT ON COLUMN "retry_dead_letter_0"."group_name" IS '组名称'; COMMENT ON COLUMN "retry_dead_letter_0"."scene_name" IS '场景id'; COMMENT ON COLUMN "retry_dead_letter_0"."idempotent_id" IS '幂等id'; COMMENT ON COLUMN "retry_dead_letter_0"."biz_no" IS '业务编号'; COMMENT ON COLUMN "retry_dead_letter_0"."executor_name" IS '执行器名称'; COMMENT ON COLUMN "retry_dead_letter_0"."args_str" IS '执行方法参数'; COMMENT ON COLUMN "retry_dead_letter_0"."ext_attrs" IS '扩展字段'; COMMENT ON COLUMN "retry_dead_letter_0"."task_type" IS '任务类型 1、重试数据 2、回调数据'; COMMENT ON COLUMN "retry_dead_letter_0"."create_dt" IS '创建时间'; COMMENT ON TABLE "retry_dead_letter_0" IS '死信队列表'; CREATE TABLE retry_task_0 ( id BIGSERIAL PRIMARY KEY, unique_id VARCHAR(64) NOT NULL, group_name VARCHAR(64) NOT NULL, scene_name VARCHAR(64) NOT NULL, idempotent_id VARCHAR(64) NOT NULL, biz_no VARCHAR(64) NOT NULL DEFAULT '', executor_name VARCHAR(512) NOT NULL DEFAULT '', args_str TEXT NOT NULL, ext_attrs TEXT NOT NULL, next_trigger_at TIMESTAMP NOT NULL, retry_count INT NOT NULL DEFAULT 0, retry_status SMALLINT NOT NULL DEFAULT 0, task_type SMALLINT NOT NULL DEFAULT 1, route_key SMALLINT NOT NULL, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE UNIQUE INDEX "uk_name_unique_id_retry_task" ON "retry_task_0" ("group_name", "unique_id"); CREATE INDEX "idx_group_name_scene_name_retry_task" ON "retry_task_0" ("group_name", "scene_name"); CREATE INDEX "idx_retry_status_retry_task" ON "retry_task_0" ("retry_status"); CREATE INDEX "idx_idempotent_id_retry_task" ON "retry_task_0" ("idempotent_id"); CREATE INDEX "idx_biz_no_retry_task" ON "retry_task_0" ("biz_no"); CREATE INDEX "idx_create_dt_retry_task" ON "retry_task_0" ("create_dt"); COMMENT ON COLUMN "retry_task_0"."id" IS '主键'; COMMENT ON COLUMN "retry_task_0"."unique_id" IS '同组下id唯一'; COMMENT ON COLUMN "retry_task_0"."group_name" IS '组名称'; COMMENT ON COLUMN "retry_task_0"."scene_name" IS '场景名称'; COMMENT ON COLUMN "retry_task_0"."idempotent_id" IS '幂等id'; COMMENT ON COLUMN "retry_task_0"."biz_no" IS '业务编号'; COMMENT ON COLUMN "retry_task_0"."executor_name" IS '执行器名称'; COMMENT ON COLUMN "retry_task_0"."args_str" IS '执行方法参数'; COMMENT ON COLUMN "retry_task_0"."ext_attrs" IS '扩展字段'; COMMENT ON COLUMN "retry_task_0"."next_trigger_at" IS '下次触发时间'; COMMENT ON COLUMN "retry_task_0"."retry_count" IS '重试次数'; COMMENT ON COLUMN "retry_task_0"."retry_status" IS '重试状态 0、重试中 1、成功 2、最大重试次数'; COMMENT ON COLUMN "retry_task_0"."task_type" IS '任务类型 1、重试数据 2、回调数据'; COMMENT ON COLUMN "retry_task_0"."create_dt" IS '创建时间'; COMMENT ON COLUMN "retry_task_0"."update_dt" IS '修改时间'; COMMENT ON TABLE "retry_task_0" IS '任务表'; CREATE TABLE retry_task_log ( id BIGSERIAL PRIMARY KEY, unique_id VARCHAR(64) NOT NULL, group_name VARCHAR(64) NOT NULL, scene_name VARCHAR(64) NOT NULL, idempotent_id VARCHAR(64) NOT NULL, biz_no VARCHAR(64) NOT NULL DEFAULT '', executor_name VARCHAR(512) NOT NULL DEFAULT '', args_str TEXT NOT NULL, ext_attrs TEXT NOT NULL, retry_status SMALLINT NOT NULL DEFAULT 0, task_type SMALLINT NOT NULL DEFAULT 1, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE INDEX "idx_group_name_scene_name_retry_task_log" ON "retry_task_log" ("group_name", "scene_name"); CREATE INDEX "idx_retry_status_retry_task_log" ON "retry_task_log" ("retry_status"); CREATE INDEX "idx_idempotent_id_retry_task_log" ON "retry_task_log" ("idempotent_id"); CREATE INDEX "idx_unique_id" ON "retry_task_log" ("unique_id"); CREATE INDEX "idx_biz_no_retry_task_log" ON "retry_task_log" ("biz_no"); CREATE INDEX "idx_create_dt_retry_task_log" ON "retry_task_log" ("create_dt"); COMMENT ON COLUMN "retry_task_log"."id" IS '主键'; COMMENT ON COLUMN "retry_task_log"."unique_id" IS '同组下id唯一'; COMMENT ON COLUMN "retry_task_log"."group_name" IS '组名称'; COMMENT ON COLUMN "retry_task_log"."scene_name" IS '场景名称'; COMMENT ON COLUMN "retry_task_log"."idempotent_id" IS '幂等id'; COMMENT ON COLUMN "retry_task_log"."biz_no" IS '业务编号'; COMMENT ON COLUMN "retry_task_log"."executor_name" IS '执行器名称'; COMMENT ON COLUMN "retry_task_log"."args_str" IS '执行方法参数'; COMMENT ON COLUMN "retry_task_log"."ext_attrs" IS '扩展字段'; COMMENT ON COLUMN "retry_task_log"."retry_status" IS '重试状态 0、重试中 1、成功 2、最大次数'; COMMENT ON COLUMN "retry_task_log"."task_type" IS '任务类型 1、重试数据 2、回调数据'; COMMENT ON COLUMN "retry_task_log"."create_dt" IS '创建时间'; COMMENT ON TABLE "retry_task_log" IS '任务日志基础信息表'; CREATE TABLE retry_task_log_message ( id BIGSERIAL PRIMARY KEY, group_name VARCHAR(64) NOT NULL, unique_id VARCHAR(64) NOT NULL, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, message TEXT NOT NULL ); CREATE INDEX "idx_group_name_unique_id" ON "retry_task_log_message" ("group_name", "unique_id"); CREATE INDEX "idx_create_dt" ON "retry_task_log_message" ("create_dt"); COMMENT ON COLUMN "retry_task_log_message"."id" IS '主键'; COMMENT ON COLUMN "retry_task_log_message"."group_name" IS '组名称'; COMMENT ON COLUMN "retry_task_log_message"."unique_id" IS '同组下id唯一'; COMMENT ON COLUMN "retry_task_log_message"."create_dt" IS '创建时间'; COMMENT ON COLUMN "retry_task_log_message"."message" IS '异常信息'; COMMENT ON TABLE "retry_task_log_message" IS '任务调度日志信息记录表'; CREATE TABLE scene_config ( id BIGSERIAL PRIMARY KEY, scene_name VARCHAR(64) NOT NULL, group_name VARCHAR(64) NOT NULL, scene_status SMALLINT NOT NULL DEFAULT 0, max_retry_count INT NOT NULL DEFAULT 5, back_off SMALLINT NOT NULL DEFAULT 1, trigger_interval VARCHAR(16) NOT NULL DEFAULT '', deadline_request BIGINT NOT NULL DEFAULT 60000, route_key SMALLINT NOT NULL, executor_timeout INT NOT NULL DEFAULT 5, description VARCHAR(256) NOT NULL DEFAULT '', create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE UNIQUE INDEX "uk_group_name_scene_name" ON "scene_config" ("group_name","scene_name"); COMMENT ON COLUMN "scene_config"."id" IS '主键'; COMMENT ON COLUMN "scene_config"."scene_name" IS '场景名称'; COMMENT ON COLUMN "scene_config"."group_name" IS '组名称'; COMMENT ON COLUMN "scene_config"."scene_status" IS '组状态 0、未启用 1、启用'; COMMENT ON COLUMN "scene_config"."max_retry_count" IS '最大重试次数'; COMMENT ON COLUMN "scene_config"."back_off" IS '1、默认等级 2、固定间隔时间 3、CRON 表达式'; COMMENT ON COLUMN "scene_config"."trigger_interval" IS '间隔时长'; COMMENT ON COLUMN "scene_config"."deadline_request" IS 'Deadline Request 调用链超时 单位毫秒'; COMMENT ON COLUMN "scene_config"."description" IS '描述'; COMMENT ON COLUMN "scene_config"."route_key" IS '路由策略'; COMMENT ON COLUMN "scene_config"."executor_timeout" IS '超时时间'; COMMENT ON COLUMN "scene_config"."create_dt" IS '创建时间'; COMMENT ON COLUMN "scene_config"."update_dt" IS '修改时间'; COMMENT ON TABLE "scene_config" IS '场景配置'; CREATE TABLE server_node ( id BIGSERIAL PRIMARY KEY, group_name VARCHAR(64) NOT NULL, host_id VARCHAR(64) NOT NULL, host_ip VARCHAR(64) NOT NULL, context_path VARCHAR(256) NOT NULL DEFAULT '/', host_port INT NOT NULL, expire_at TIMESTAMP NOT NULL, node_type SMALLINT NOT NULL, ext_attrs VARCHAR(256) DEFAULT '', create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE UNIQUE INDEX "uk_host_id_host_ip" ON "server_node" ("host_id","host_ip"); CREATE INDEX "idx_expire_at_node_type" ON "server_node" ("expire_at","node_type"); COMMENT ON COLUMN "server_node"."id" IS '主键'; COMMENT ON COLUMN "server_node"."group_name" IS '组名称'; COMMENT ON COLUMN "server_node"."host_id" IS '主机id'; COMMENT ON COLUMN "server_node"."host_ip" IS '机器ip'; COMMENT ON COLUMN "server_node"."context_path" IS '客户端上下文路径 server.servlet.context-path'; COMMENT ON COLUMN "server_node"."host_port" IS '机器端口'; COMMENT ON COLUMN "server_node"."expire_at" IS '过期时间'; COMMENT ON COLUMN "server_node"."node_type" IS '节点类型 1、客户端 2、是服务端'; COMMENT ON COLUMN "server_node"."ext_attrs" IS '扩展字段'; COMMENT ON COLUMN "server_node"."create_dt" IS '创建时间'; COMMENT ON COLUMN "server_node"."update_dt" IS '修改时间'; COMMENT ON TABLE "server_node" IS '服务器节点'; CREATE TABLE distributed_lock ( id BIGSERIAL PRIMARY KEY, name VARCHAR(64) NOT NULL, lock_until TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, locked_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, locked_by VARCHAR(255) NOT NULL, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); ALTER TABLE distributed_lock ADD CONSTRAINT uk_name UNIQUE (name); COMMENT ON COLUMN "distributed_lock"."id" IS '主键'; COMMENT ON COLUMN "distributed_lock"."name" IS '锁名称'; COMMENT ON COLUMN "distributed_lock"."lock_until" IS '锁定时长'; COMMENT ON COLUMN "distributed_lock"."locked_at" IS '锁定时间'; COMMENT ON COLUMN "distributed_lock"."locked_by" IS '锁定者'; COMMENT ON COLUMN "distributed_lock"."create_dt" IS '创建时间'; COMMENT ON COLUMN "distributed_lock"."update_dt" IS '修改时间'; COMMENT ON TABLE "distributed_lock" IS '锁定表'; CREATE TABLE system_user ( id BIGSERIAL PRIMARY KEY, username VARCHAR(64) NOT NULL, password VARCHAR(128) NOT NULL, role SMALLINT NOT NULL DEFAULT 0, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE UNIQUE INDEX "uk_username" ON "system_user" ("username"); COMMENT ON COLUMN "system_user"."id" IS '主键'; COMMENT ON COLUMN "system_user"."username" IS '账号'; COMMENT ON COLUMN "system_user"."password" IS '密码'; COMMENT ON COLUMN "system_user"."role" IS '角色:1-普通用户、2-管理员'; COMMENT ON COLUMN "system_user"."create_dt" IS '创建时间'; COMMENT ON COLUMN "system_user"."update_dt" IS '修改时间'; COMMENT ON TABLE "system_user" IS '系统用户表'; -- pwd: admin INSERT INTO system_user (username, password, role) VALUES ('admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2); CREATE TABLE system_user_permission ( id BIGSERIAL PRIMARY KEY, group_name VARCHAR(64) NOT NULL, system_user_id BIGINT NOT NULL, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE UNIQUE INDEX "uk_group_name_system_user_id" ON "system_user_permission" ("group_name","system_user_id"); COMMENT ON COLUMN "system_user_permission"."id" IS '主键'; COMMENT ON COLUMN "system_user_permission"."group_name" IS '组名称'; COMMENT ON COLUMN "system_user_permission"."system_user_id" IS '系统用户id'; COMMENT ON COLUMN "system_user_permission"."create_dt" IS '创建时间'; COMMENT ON COLUMN "system_user_permission"."update_dt" IS '修改时间'; COMMENT ON TABLE "system_user_permission" IS '系统用户权限表'; CREATE TABLE sequence_alloc ( id BIGSERIAL PRIMARY KEY, group_name VARCHAR(64) NOT NULL DEFAULT '', max_id BIGINT NOT NULL DEFAULT 1, step INT NOT NULL DEFAULT 100, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE UNIQUE INDEX "uk_group_name" ON "sequence_alloc" ("group_name"); COMMENT ON COLUMN "sequence_alloc"."id" IS '主键'; COMMENT ON COLUMN "sequence_alloc"."group_name" IS '组名称'; COMMENT ON COLUMN "sequence_alloc"."max_id" IS '最大id'; COMMENT ON COLUMN "sequence_alloc"."step" IS '步长'; COMMENT ON COLUMN "sequence_alloc"."update_dt" IS '更新时间'; COMMENT ON TABLE "sequence_alloc" IS '号段模式序号ID分配表'; -- 分布式调度DDL CREATE TABLE job ( id BIGSERIAL PRIMARY KEY, group_name VARCHAR(64) NOT NULL, job_name VARCHAR(64) NOT NULL, args_str TEXT NOT NULL, args_type SMALLINT NOT NULL 1, ext_attrs TEXT NOT NULL, next_trigger_at BIGINT NOT NULL, job_status SMALLINT NOT NULL DEFAULT 1, task_type SMALLINT NOT NULL DEFAULT 1, route_key SMALLINT NOT NULL DEFAULT 4, executor_type SMALLINT NOT NULL DEFAULT 1, executor_info VARCHAR(255) DEFAULT NULL, trigger_type SMALLINT NOT NULL, trigger_interval VARCHAR(255) NOT NULL, block_strategy SMALLINT NOT NULL DEFAULT 1, executor_timeout INT NOT NULL DEFAULT 0, max_retry_times INT NOT NULL DEFAULT 0, parallel_num INT NOT NULL DEFAULT 1, retry_interval INT NOT NULL DEFAULT 0, bucket_index INT NOT NULL DEFAULT 0, resident SMALLINT NOT NULL DEFAULT 0, description VARCHAR(256) NOT NULL DEFAULT '', ext_attrs VARCHAR(256) DEFAULT NULL, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, deleted SMALLINT NOT NULL DEFAULT 0 ); CREATE INDEX "idx_group_name" ON "job" ("group_name"); CREATE INDEX "idx_job_status_bucket_index" ON "job" (`job_status`, `bucket_index`); CREATE INDEX "idx_create_dt" ON "job" (`create_dt`); COMMENT ON COLUMN "job"."id" IS '主键'; COMMENT ON COLUMN "job"."group_name" IS '组名称'; COMMENT ON COLUMN "job"."job_name" IS '名称'; COMMENT ON COLUMN "job"."args_str" IS '执行方法参数'; COMMENT ON COLUMN "job"."args_type" IS '参数类型'; COMMENT ON COLUMN "job"."next_trigger_at" IS '下次触发时间'; COMMENT ON COLUMN "job"."job_status" IS '重试状态 0、关闭、1、开启'; COMMENT ON COLUMN "job"."task_type" IS '任务类型 1、集群 2、广播 3、切片'; COMMENT ON COLUMN "job"."route_key" IS '路由策略'; COMMENT ON COLUMN "job"."executor_type" IS '执行器类型'; COMMENT ON COLUMN "job"."executor_info" IS '执行器名称'; COMMENT ON COLUMN "job"."trigger_type" IS '触发类型 1.CRON 表达式 2. 固定时间'; COMMENT ON COLUMN "job"."trigger_interval" IS '间隔时长'; COMMENT ON COLUMN "job"."block_strategy" IS '阻塞策略 1、丢弃 2、覆盖 3、并行'; COMMENT ON COLUMN "job"."executor_timeout" IS '任务执行超时时间,单位秒'; COMMENT ON COLUMN "job"."max_retry_times" IS '最大重试次数'; COMMENT ON COLUMN "job"."parallel_num" IS '并行数'; COMMENT ON COLUMN "job"."retry_interval" IS '更新重试间隔(s)'; COMMENT ON COLUMN "job"."bucket_index" IS 'bucket'; COMMENT ON COLUMN "job"."resident" IS '是否是常驻任务'; COMMENT ON COLUMN "job"."description" IS '描述'; COMMENT ON COLUMN "job"."ext_attrs" IS '扩展字段'; COMMENT ON COLUMN "job"."create_dt" IS '创建时间'; COMMENT ON COLUMN "job"."deleted" IS '逻辑删除 1、删除'; COMMENT ON COLUMN "job"."update_dt" IS '更新时间'; COMMENT ON TABLE "job" IS '任务信息'; CREATE TABLE sequence_alloc ( id BIGSERIAL PRIMARY KEY, group_name VARCHAR(64) NOT NULL, job_id BIGINT NOT NULL, task_batch_id BIGINT NOT NULL, task_id BIGINT NOT NULL, message TEXT NOT NULL, ext_attrs VARCHAR(256) DEFAULT '', create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); COMMENT ON COLUMN "job_log_message"."id" IS '主键'; COMMENT ON COLUMN "job_log_message"."group_name" IS '组名称'; COMMENT ON COLUMN "job_log_message"."job_id" IS '任务信息id'; COMMENT ON COLUMN "job_log_message"."task_batch_id" IS '任务批次id'; COMMENT ON COLUMN "job_log_message"."task_id" IS '调度任务id'; COMMENT ON COLUMN "job_log_message"."message" IS '调度信息'; COMMENT ON COLUMN "job_log_message"."create_dt" IS '创建时间'; COMMENT ON COLUMN "job_log_message"."ext_attrs" IS '扩展字段'; COMMENT ON TABLE "job_log_message" IS '调度日志'; CREATE TABLE `job_task` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `group_name` varchar(64) NOT NULL COMMENT '组名称', `job_id` bigint(20) NOT NULL COMMENT '任务信息id', `task_batch_id` bigint(20) NOT NULL COMMENT '调度任务id', `parent_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '父执行器id', `task_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '执行的状态 0、失败 1、成功', `retry_count` int(11) NOT NULL DEFAULT '0' COMMENT '重试次数', `client_info` varchar(128) DEFAULT NULL COMMENT '客户端地址 clientId#ip:port', `result_message` text NOT NULL COMMENT '执行结果', `args_str` text DEFAULT NULL COMMENT '执行方法参数', `args_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '参数类型 ', `ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', PRIMARY KEY (`id`), KEY `idx_task_batch_id_task_status` (`task_batch_id`, `task_status`), KEY `idx_create_dt` (`create_dt`) ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COMMENT='任务实例'; CREATE TABLE `job_task_batch` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `group_name` varchar(64) NOT NULL COMMENT '组名称', `job_id` bigint(20) NOT NULL COMMENT '任务id', `task_batch_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '任务批次状态 0、失败 1、成功', `operation_reason` tinyint(4) NOT NULL DEFAULT '0' COMMENT '操作原因', `execution_at` bigint(13) NOT NULL DEFAULT '0' COMMENT '任务执行时间', `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除 1、删除', `ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', PRIMARY KEY (`id`), KEY `idx_job_id_task_batch_status` (`job_id`, `task_batch_status`), KEY `idx_create_dt` (`create_dt`) ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COMMENT='任务批次';