feat: 2.4.0

1. PostgreSQL添加job信息
This commit is contained in:
byteblogs168 2023-11-14 15:16:38 +08:00
parent bc3cef13c0
commit 9275ddb59f
5 changed files with 131 additions and 77 deletions

View File

@ -263,7 +263,8 @@ CREATE TABLE `job_log_message`
`ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', `ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段',
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
KEY `idx_task_batch_id_task_id` (`task_batch_id`, `task_id`), KEY `idx_task_batch_id_task_id` (`task_batch_id`, `task_id`),
KEY `idx_create_dt` (`create_dt`) KEY `idx_create_dt` (`create_dt`),
KEY `idx_group_name` (`group_name`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COMMENT='调度日志'; ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COMMENT='调度日志';
CREATE TABLE `job_task` CREATE TABLE `job_task`
@ -284,7 +285,8 @@ CREATE TABLE `job_task`
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
KEY `idx_task_batch_id_task_status` (`task_batch_id`, `task_status`), KEY `idx_task_batch_id_task_status` (`task_batch_id`, `task_status`),
KEY `idx_create_dt` (`create_dt`) KEY `idx_create_dt` (`create_dt`),
KEY `idx_group_name` (`group_name`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COMMENT='任务实例'; ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COMMENT='任务实例';
CREATE TABLE `job_task_batch` CREATE TABLE `job_task_batch`
@ -295,11 +297,13 @@ CREATE TABLE `job_task_batch`
`task_batch_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '任务批次状态 0、失败 1、成功', `task_batch_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '任务批次状态 0、失败 1、成功',
`operation_reason` tinyint(4) NOT NULL DEFAULT '0' COMMENT '操作原因', `operation_reason` tinyint(4) NOT NULL DEFAULT '0' COMMENT '操作原因',
`execution_at` bigint(13) NOT NULL DEFAULT '0' COMMENT '任务执行时间', `execution_at` bigint(13) NOT NULL DEFAULT '0' COMMENT '任务执行时间',
`parent_id` varchar(64) NOT NULL DEFAULT '' COMMENT '父节点',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE 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、删除', `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除 1、删除',
`ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', `ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段',
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
KEY `idx_job_id_task_batch_status` (`job_id`, `task_batch_status`), KEY `idx_job_id_task_batch_status` (`job_id`, `task_batch_status`),
KEY `idx_create_dt` (`create_dt`) KEY `idx_create_dt` (`create_dt`),
KEY `idx_group_name` (`group_name`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COMMENT='任务批次'; ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COMMENT='任务批次';

View File

@ -34,6 +34,7 @@ CREATE TABLE notify_config
( (
id BIGSERIAL PRIMARY KEY, id BIGSERIAL PRIMARY KEY,
group_name VARCHAR(64) NOT NULL, group_name VARCHAR(64) NOT NULL,
notify_status SMALLINT NOT NULL DEFAULT 0,
notify_type SMALLINT NOT NULL DEFAULT 0, notify_type SMALLINT NOT NULL DEFAULT 0,
notify_attribute VARCHAR(512) NOT NULL, notify_attribute VARCHAR(512) NOT NULL,
notify_threshold INT NOT NULL DEFAULT 0, notify_threshold INT NOT NULL DEFAULT 0,
@ -45,26 +46,17 @@ CREATE TABLE notify_config
CREATE INDEX idx_group_name ON notify_config (group_name); CREATE INDEX idx_group_name ON notify_config (group_name);
COMMENT COMMENT ON COLUMN "notify_config"."id" IS '主键';
ON COLUMN "notify_config"."id" IS '主键'; COMMENT ON COLUMN "notify_config"."group_name" IS '组名称';
COMMENT COMMENT ON COLUMN "notify_config"."notify_status" IS '通知状态 0、未启用 1、启用';
ON COLUMN "notify_config"."group_name" IS '组名称'; COMMENT ON COLUMN "notify_config"."notify_type" IS '通知类型 1、钉钉 2、邮件 3、企业微信';
COMMENT COMMENT ON COLUMN "notify_config"."notify_attribute" IS '配置属性';
ON COLUMN "notify_config"."notify_type" IS '通知类型 1、钉钉 2、邮件 3、企业微信'; COMMENT ON COLUMN "notify_config"."notify_threshold" IS '通知阈值';
COMMENT COMMENT ON COLUMN "notify_config"."notify_scene" IS '通知场景';
ON COLUMN "notify_config"."notify_attribute" IS '配置属性'; COMMENT ON COLUMN "notify_config"."description" IS '描述';
COMMENT COMMENT ON COLUMN "notify_config"."create_dt" IS '创建时间';
ON COLUMN "notify_config"."notify_threshold" IS '通知阈值'; COMMENT ON COLUMN "notify_config"."update_dt" IS '修改时间';
COMMENT COMMENT ON TABLE "notify_config" IS '通知配置';
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 CREATE TABLE retry_dead_letter_0
@ -116,7 +108,6 @@ CREATE TABLE retry_task_0
retry_count INT NOT NULL DEFAULT 0, retry_count INT NOT NULL DEFAULT 0,
retry_status SMALLINT NOT NULL DEFAULT 0, retry_status SMALLINT NOT NULL DEFAULT 0,
task_type SMALLINT NOT NULL DEFAULT 1, task_type SMALLINT NOT NULL DEFAULT 1,
route_key SMALLINT NOT NULL,
create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
); );
@ -188,7 +179,8 @@ CREATE TABLE retry_task_log_message
group_name VARCHAR(64) NOT NULL, group_name VARCHAR(64) NOT NULL,
unique_id VARCHAR(64) NOT NULL, unique_id VARCHAR(64) NOT NULL,
create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
message TEXT NOT NULL message TEXT NOT NULL,
client_info VARCHAR(128) DEFAULT NULL
); );
CREATE INDEX "idx_group_name_unique_id" ON "retry_task_log_message" ("group_name", "unique_id"); CREATE INDEX "idx_group_name_unique_id" ON "retry_task_log_message" ("group_name", "unique_id");
@ -198,6 +190,7 @@ 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"."unique_id" IS '同组下id唯一';
COMMENT ON COLUMN "retry_task_log_message"."create_dt" IS '创建时间'; COMMENT ON COLUMN "retry_task_log_message"."create_dt" IS '创建时间';
COMMENT ON COLUMN "retry_task_log_message"."message" IS '异常信息'; COMMENT ON COLUMN "retry_task_log_message"."message" IS '异常信息';
COMMENT ON COLUMN "retry_task_log_message"."client_info" IS '客户端地址 clientId#ip:port';
COMMENT ON TABLE "retry_task_log_message" IS '任务调度日志信息记录表'; COMMENT ON TABLE "retry_task_log_message" IS '任务调度日志信息记录表';
CREATE TABLE scene_config CREATE TABLE scene_config
@ -210,7 +203,7 @@ CREATE TABLE scene_config
back_off SMALLINT NOT NULL DEFAULT 1, back_off SMALLINT NOT NULL DEFAULT 1,
trigger_interval VARCHAR(16) NOT NULL DEFAULT '', trigger_interval VARCHAR(16) NOT NULL DEFAULT '',
deadline_request BIGINT NOT NULL DEFAULT 60000, deadline_request BIGINT NOT NULL DEFAULT 60000,
route_key SMALLINT NOT NULL, route_key SMALLINT NOT NULL DEFAULT 4,
executor_timeout INT NOT NULL DEFAULT 5, executor_timeout INT NOT NULL DEFAULT 5,
description VARCHAR(256) NOT NULL DEFAULT '', description VARCHAR(256) NOT NULL DEFAULT '',
create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
@ -351,8 +344,7 @@ CREATE TABLE job
group_name VARCHAR(64) NOT NULL, group_name VARCHAR(64) NOT NULL,
job_name VARCHAR(64) NOT NULL, job_name VARCHAR(64) NOT NULL,
args_str TEXT NOT NULL, args_str TEXT NOT NULL,
args_type SMALLINT NOT NULL 1, args_type SMALLINT NOT NULL DEFAULT 1,
ext_attrs TEXT NOT NULL,
next_trigger_at BIGINT NOT NULL, next_trigger_at BIGINT NOT NULL,
job_status SMALLINT NOT NULL DEFAULT 1, job_status SMALLINT NOT NULL DEFAULT 1,
task_type SMALLINT NOT NULL DEFAULT 1, task_type SMALLINT NOT NULL DEFAULT 1,
@ -375,9 +367,9 @@ CREATE TABLE job
deleted SMALLINT NOT NULL DEFAULT 0 deleted SMALLINT NOT NULL DEFAULT 0
); );
CREATE INDEX "idx_group_name" ON "job" ("group_name"); CREATE INDEX "idx_group_name_to_job" ON "job" ("group_name");
CREATE INDEX "idx_job_status_bucket_index" ON "job" (`job_status`, `bucket_index`); CREATE INDEX "idx_job_status_bucket_index_job" ON "job" ("job_status", "bucket_index");
CREATE INDEX "idx_create_dt" ON "job" (`create_dt`); CREATE INDEX "idx_create_dt_job" ON "job" ("create_dt");
COMMENT ON COLUMN "job"."id" IS '主键'; COMMENT ON COLUMN "job"."id" IS '主键';
COMMENT ON COLUMN "job"."group_name" IS '组名称'; COMMENT ON COLUMN "job"."group_name" IS '组名称';
@ -406,8 +398,7 @@ COMMENT ON COLUMN "job"."deleted" IS '逻辑删除 1、删除';
COMMENT ON COLUMN "job"."update_dt" IS '更新时间'; COMMENT ON COLUMN "job"."update_dt" IS '更新时间';
COMMENT ON TABLE "job" IS '任务信息'; COMMENT ON TABLE "job" IS '任务信息';
CREATE TABLE job_log_message
CREATE TABLE sequence_alloc
( (
id BIGSERIAL PRIMARY KEY, id BIGSERIAL PRIMARY KEY,
group_name VARCHAR(64) NOT NULL, group_name VARCHAR(64) NOT NULL,
@ -419,6 +410,9 @@ CREATE TABLE sequence_alloc
create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
); );
CREATE INDEX "idx_group_name_to_job_log_message" ON "job_log_message" ("group_name");
CREATE INDEX "idx_task_batch_id_task_id_to_job_log_message" ON "job_log_message" ("task_batch_id", "task_id");
CREATE INDEX "idx_create_dt_to_job_log_message" ON "job_log_message" ("create_dt");
COMMENT ON COLUMN "job_log_message"."id" IS '主键'; COMMENT ON COLUMN "job_log_message"."id" IS '主键';
COMMENT ON COLUMN "job_log_message"."group_name" 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"."job_id" IS '任务信息id';
@ -429,40 +423,71 @@ COMMENT ON COLUMN "job_log_message"."create_dt" IS '创建时间';
COMMENT ON COLUMN "job_log_message"."ext_attrs" IS '扩展字段'; COMMENT ON COLUMN "job_log_message"."ext_attrs" IS '扩展字段';
COMMENT ON TABLE "job_log_message" IS '调度日志'; COMMENT ON TABLE "job_log_message" IS '调度日志';
CREATE TABLE `job_task` CREATE TABLE job_task
( (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', id BIGSERIAL PRIMARY KEY,
`group_name` varchar(64) NOT NULL COMMENT '组名称', group_name VARCHAR(64) NOT NULL,
`job_id` bigint(20) NOT NULL COMMENT '任务信息id', job_id BIGINT NOT NULL,
`task_batch_id` bigint(20) NOT NULL COMMENT '调度任务id', task_batch_id BIGINT NOT NULL,
`parent_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '父执行器id', parent_id BIGINT NOT NULL DEFAULT 0,
`task_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '执行的状态 0、失败 1、成功', task_status SMALLINT NOT NULL DEFAULT 0,
`retry_count` int(11) NOT NULL DEFAULT '0' COMMENT '重试次数', retry_count INT NOT NULL DEFAULT 0,
`client_info` varchar(128) DEFAULT NULL COMMENT '客户端地址 clientId#ip:port', client_info VARCHAR(128) DEFAULT NULL,
`result_message` text NOT NULL COMMENT '执行结果', result_message TEXT NOT NULL,
`args_str` text DEFAULT NULL COMMENT '执行方法参数', args_str TEXT NOT NULL,
`args_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '参数类型 ', args_type SMALLINT NOT NULL DEFAULT 1,
`ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', ext_attrs VARCHAR(256) DEFAULT '',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
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`
CREATE INDEX "idx_group_name_to_job_task" ON "job_task" ("group_name");
CREATE INDEX "idx_task_batch_id_task_status_to_job_task" ON "job_task" ("task_batch_id", "task_status");
CREATE INDEX "idx_create_dt_to_job_task" ON "job_task" ("create_dt");
COMMENT ON COLUMN "job_task"."id" IS '主键';
COMMENT ON COLUMN "job_task"."group_name" IS '组名称';
COMMENT ON COLUMN "job_task"."job_id" IS '任务信息id';
COMMENT ON COLUMN "job_task"."task_batch_id" IS '任务批次id';
COMMENT ON COLUMN "job_task"."parent_id" IS '父执行器id';
COMMENT ON COLUMN "job_task"."task_status" IS '执行的状态 0、失败 1、成功';
COMMENT ON COLUMN "job_task"."retry_count" IS '重试次数';
COMMENT ON COLUMN "job_task"."client_info" IS '客户端地址 clientId#ip:port';
COMMENT ON COLUMN "job_task"."result_message" IS '调度信息';
COMMENT ON COLUMN "job_task"."args_str" IS '执行方法参数';
COMMENT ON COLUMN "job_task"."args_type" IS '参数类型';
COMMENT ON COLUMN "job_task"."create_dt" IS '创建时间';
COMMENT ON COLUMN "job_task"."update_dt" IS '创建时间';
COMMENT ON COLUMN "job_task"."ext_attrs" IS '扩展字段';
COMMENT ON TABLE "job_task" IS '任务实例';
CREATE TABLE job_task_batch
( (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', id BIGSERIAL PRIMARY KEY,
`group_name` varchar(64) NOT NULL COMMENT '组名称', group_name VARCHAR(64) NOT NULL,
`job_id` bigint(20) NOT NULL COMMENT '任务id', job_id BIGINT NOT NULL,
`task_batch_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '任务批次状态 0、失败 1、成功', parent_id VARCHAR(64) NOT NULL DEFAULT '',
`operation_reason` tinyint(4) NOT NULL DEFAULT '0' COMMENT '操作原因', task_batch_status SMALLINT NOT NULL DEFAULT 0,
`execution_at` bigint(13) NOT NULL DEFAULT '0' COMMENT '任务执行时间', operation_reason SMALLINT NOT NULL DEFAULT 0,
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', execution_at BIGINT NOT NULL DEFAULT 0,
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', ext_attrs VARCHAR(256) DEFAULT '',
`deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除 1、删除', deleted SMALLINT NOT NULL DEFAULT 0,
`ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`), update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
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='任务批次'; CREATE INDEX "idx_group_name_to_job_task_batch" ON "job_task_batch" ("group_name");
CREATE INDEX "idx_job_id_task_batch_status_to_job_task_batch" ON "job_task_batch" ("job_id", "task_batch_status");
CREATE INDEX "idx_create_dt_to_job_task_batch" ON "job_task_batch" ("create_dt");
COMMENT ON COLUMN "job_task_batch"."id" IS '主键';
COMMENT ON COLUMN "job_task_batch"."group_name" IS '组名称';
COMMENT ON COLUMN "job_task_batch"."job_id" IS '任务信息id';
COMMENT ON COLUMN "job_task_batch"."task_batch_status" IS '任务批次状态 0、失败 1、成功';
COMMENT ON COLUMN "job_task_batch"."operation_reason" IS '操作原因';
COMMENT ON COLUMN "job_task_batch"."execution_at" IS '任务执行时间';
COMMENT ON COLUMN "job_task_batch"."parent_id" IS '父节点';
COMMENT ON COLUMN "job_task_batch"."deleted" IS '逻辑删除 1、删除';
COMMENT ON COLUMN "job_task_batch"."create_dt" IS '创建时间';
COMMENT ON COLUMN "job_task_batch"."update_dt" IS '创建时间';
COMMENT ON COLUMN "job_task_batch"."ext_attrs" IS '扩展字段';
COMMENT ON TABLE "job_task" IS '任务批次';

View File

@ -30,4 +30,18 @@
(#{item.uniqueId}, #{item.groupName}, #{item.sceneName}, #{item.idempotentId}, #{item.bizNo}, #{item.executorName}, #{item.argsStr}, #{item.extAttrs}, #{item.nextTriggerAt}, #{item.taskType}, #{item.retryStatus}, #{item.createDt}) (#{item.uniqueId}, #{item.groupName}, #{item.sceneName}, #{item.idempotentId}, #{item.bizNo}, #{item.executorName}, #{item.argsStr}, #{item.extAttrs}, #{item.nextTriggerAt}, #{item.taskType}, #{item.retryStatus}, #{item.createDt})
</foreach> </foreach>
</insert> </insert>
<update id="updateBatchNextTriggerAtById" parameterType="java.util.List">
update retry_task_${partition} rt,
(
<foreach collection="list" item="item" index="index" separator=" union all ">
select
#{item.nextTriggerAt} as next_trigger_at,
#{item.id} as id
</foreach>
) tt
set
rt.next_trigger_at = tt.next_trigger_at
where rt.id = tt.id
</update>
</mapper> </mapper>

View File

@ -27,17 +27,16 @@
</resultMap> </resultMap>
<update id="updateBatchNextTriggerAtById" parameterType="java.util.List"> <update id="updateBatchNextTriggerAtById" parameterType="java.util.List">
update job rt, UPDATE job AS rt
( SET next_trigger_at = tt.next_trigger_at
FROM (
<foreach collection="list" item="item" index="index" separator=" union all "> <foreach collection="list" item="item" index="index" separator=" union all ">
select select
#{item.nextTriggerAt} as next_trigger_at, #{item.nextTriggerAt} as next_trigger_at,
#{item.id} as id #{item.id} as id
</foreach> </foreach>
) tt ) AS tt
set WHERE rt.id = tt.id
rt.next_trigger_at = tt.next_trigger_at
where rt.id = tt.id
</update> </update>
</mapper> </mapper>

View File

@ -30,4 +30,16 @@
(#{item.uniqueId}, #{item.groupName}, #{item.sceneName}, #{item.idempotentId}, #{item.bizNo}, #{item.executorName}, #{item.argsStr}, #{item.extAttrs}, #{item.nextTriggerAt}, #{item.taskType}, #{item.retryStatus}, #{item.createDt}) (#{item.uniqueId}, #{item.groupName}, #{item.sceneName}, #{item.idempotentId}, #{item.bizNo}, #{item.executorName}, #{item.argsStr}, #{item.extAttrs}, #{item.nextTriggerAt}, #{item.taskType}, #{item.retryStatus}, #{item.createDt})
</foreach> </foreach>
</insert> </insert>
<update id="updateBatchNextTriggerAtById" parameterType="java.util.List">
UPDATE retry_task_${partition} AS rt
SET next_trigger_at = tt.next_trigger_at
FROM (
<foreach collection="list" item="item" index="index" separator=" union all ">
select
#{item.nextTriggerAt} as next_trigger_at,
#{item.id} as id
</foreach>
) AS tt
WHERE rt.id = tt.id
</update>
</mapper> </mapper>