feat: 2.6.0
1. 工作流执行pg、mariadb数据库
This commit is contained in:
parent
8441ccd476
commit
341f643765
@ -378,7 +378,7 @@ CREATE TABLE `job_task_batch`
|
||||
KEY `idx_job_id_task_batch_status` (`job_id`, `task_batch_status`),
|
||||
KEY `idx_create_dt` (`create_dt`),
|
||||
KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`),
|
||||
KEY `idx_workflow_task_batch_id_task_batch_status` (`workflow_task_batch_id`,`workflow_node_id`)
|
||||
KEY `idx_workflow_task_batch_id_workflow_node_id` (`workflow_task_batch_id`,`workflow_node_id`)
|
||||
) ENGINE = InnoDB
|
||||
AUTO_INCREMENT = 0
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='任务批次';
|
||||
|
@ -398,7 +398,7 @@ CREATE TABLE job
|
||||
namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
group_name VARCHAR(64) NOT NULL,
|
||||
job_name VARCHAR(64) NOT NULL,
|
||||
args_str TEXT NOT NULL,
|
||||
args_str TEXT NOT NULL DEFAULT '',
|
||||
args_type SMALLINT NOT NULL DEFAULT 1,
|
||||
next_trigger_at BIGINT NOT NULL,
|
||||
job_status SMALLINT NOT NULL DEFAULT 1,
|
||||
@ -462,7 +462,9 @@ CREATE TABLE job_log_message
|
||||
job_id BIGINT NOT NULL,
|
||||
task_batch_id BIGINT NOT NULL,
|
||||
task_id BIGINT NOT NULL,
|
||||
message TEXT NOT NULL,
|
||||
message TEXT NOT NULL,
|
||||
log_num INT NOT NULL DEFAULT 1,
|
||||
real_time BIGINT NOT NULL DEFAULT 0,
|
||||
ext_attrs VARCHAR(256) DEFAULT '',
|
||||
create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
@ -478,6 +480,8 @@ 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"."log_num" IS '日志序号';
|
||||
COMMENT ON COLUMN "job_log_message"."real_time" 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 '调度日志';
|
||||
@ -524,29 +528,39 @@ COMMENT ON TABLE "job_task" IS '任务实例';
|
||||
|
||||
CREATE TABLE job_task_batch
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
group_name VARCHAR(64) NOT NULL,
|
||||
job_id BIGINT NOT NULL,
|
||||
parent_id VARCHAR(64) NOT NULL DEFAULT '',
|
||||
task_batch_status SMALLINT NOT NULL DEFAULT 0,
|
||||
operation_reason SMALLINT NOT NULL DEFAULT 0,
|
||||
execution_at BIGINT NOT NULL DEFAULT 0,
|
||||
ext_attrs VARCHAR(256) DEFAULT '',
|
||||
deleted SMALLINT NOT NULL DEFAULT 0,
|
||||
create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
group_name VARCHAR(64) NOT NULL,
|
||||
job_id BIGINT NOT NULL,
|
||||
workflow_node_id BIGINT NOT NULL DEFAULT 0,
|
||||
parent_workflow_node_id BIGINT NOT NULL DEFAULT 0,
|
||||
workflow_task_batch_id BIGINT NOT NULL DEFAULT 0,
|
||||
parent_id VARCHAR(64) NOT NULL DEFAULT '',
|
||||
task_batch_status SMALLINT NOT NULL DEFAULT 0,
|
||||
operation_reason SMALLINT NOT NULL DEFAULT 0,
|
||||
execution_at BIGINT NOT NULL DEFAULT 0,
|
||||
system_task_type SMALLINT NOT NULL DEFAULT 3,
|
||||
ext_attrs VARCHAR(256) DEFAULT '',
|
||||
deleted SMALLINT NOT NULL DEFAULT 0,
|
||||
create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE INDEX "idx_namespace_id_group_name_to_job_task_batch" ON "job_task_batch" ("namespace_id", "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");
|
||||
CREATE INDEX "idx_workflow_task_batch_id_workflow_node_id" ON "job_task_batch" ("workflow_task_batch_id", "workflow_node_id");
|
||||
|
||||
COMMENT ON COLUMN "job_task_batch"."id" IS '主键';
|
||||
COMMENT ON COLUMN "job_task_batch"."namespace_id" IS '命名空间id';
|
||||
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"."workflow_node_id" IS '工作流节点id';
|
||||
COMMENT ON COLUMN "job_task_batch"."parent_workflow_node_id" IS '父节点';
|
||||
COMMENT ON COLUMN "job_task_batch"."workflow_task_batch_id" IS '任务批次id';
|
||||
COMMENT ON COLUMN "job_task_batch"."system_task_type" IS '任务类型 0、系统任务 1、业务任务';
|
||||
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、删除';
|
||||
@ -557,20 +571,20 @@ COMMENT ON TABLE "job_task" IS '任务批次';
|
||||
|
||||
CREATE TABLE job_notify_config
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
group_name VARCHAR(64) NOT NULL,
|
||||
job_id BIGINT NOT NULL,
|
||||
notify_status SMALLINT NOT NULL DEFAULT 0,
|
||||
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,
|
||||
rate_limiter_status SMALLINT NOT NULL DEFAULT 0,
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
group_name VARCHAR(64) NOT NULL,
|
||||
job_id BIGINT NOT NULL,
|
||||
notify_status SMALLINT NOT NULL DEFAULT 0,
|
||||
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,
|
||||
rate_limiter_status SMALLINT NOT NULL DEFAULT 0,
|
||||
rate_limiter_threshold INT 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
|
||||
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_namespace_id_group_name_job_id_job_notify_config ON job_notify_config (namespace_id, group_name, job_id);
|
||||
@ -655,3 +669,128 @@ COMMENT ON COLUMN "job_summary"."stop_reason" IS '失败原因';
|
||||
COMMENT ON COLUMN "job_summary"."cancel_num" IS '执行失败-日志数量';
|
||||
COMMENT ON COLUMN "job_summary"."cancel_reason" IS '失败原因';
|
||||
COMMENT ON TABLE "job_summary" IS 'DashBoard_Job';
|
||||
|
||||
CREATE TABLE workflow
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
workflow_name varchar(64) NOT NULL,
|
||||
namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
group_name varchar(64) NOT NULL,
|
||||
workflow_status smallint NOT NULL DEFAULT 1,
|
||||
trigger_type smallint NOT NULL,
|
||||
trigger_interval varchar(255) NOT NULL,
|
||||
next_trigger_at BIGINT NOT NULL,
|
||||
block_strategy smallint NOT NULL DEFAULT 1,
|
||||
executor_timeout INT NOT NULL DEFAULT 0,
|
||||
description varchar(256) NOT NULL DEFAULT '',
|
||||
flow_info text DEFAULT NULL,
|
||||
bucket_index INT NOT NULL DEFAULT 0,
|
||||
version INT NOT NULL,
|
||||
create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
deleted smallint NOT NULL DEFAULT 0,
|
||||
ext_attrs varchar(256) NULL DEFAULT ''
|
||||
);
|
||||
|
||||
|
||||
CREATE INDEX idx_create_dt_workflow ON workflow (create_dt);
|
||||
CREATE INDEX idx_namespace_id_group_name ON workflow (namespace_id, group_name);
|
||||
|
||||
COMMENT ON TABLE workflow IS '工作流';
|
||||
COMMENT ON COLUMN workflow.id IS '主键';
|
||||
COMMENT ON COLUMN workflow.workflow_name IS '工作流名称';
|
||||
COMMENT ON COLUMN workflow.namespace_id IS '命名空间id';
|
||||
COMMENT ON COLUMN workflow.group_name IS '组名称';
|
||||
COMMENT ON COLUMN workflow.workflow_status IS '工作流状态 0、关闭、1、开启';
|
||||
COMMENT ON COLUMN workflow.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间';
|
||||
COMMENT ON COLUMN workflow.trigger_interval IS '间隔时长';
|
||||
COMMENT ON COLUMN workflow.next_trigger_at IS '下次触发时间';
|
||||
COMMENT ON COLUMN workflow.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行';
|
||||
COMMENT ON COLUMN workflow.executor_timeout IS '任务执行超时时间,单位秒';
|
||||
COMMENT ON COLUMN workflow.description IS '描述';
|
||||
COMMENT ON COLUMN workflow.flow_info IS '流程信息';
|
||||
COMMENT ON COLUMN workflow.bucket_index IS 'bucket';
|
||||
COMMENT ON COLUMN workflow.version IS '版本号';
|
||||
COMMENT ON COLUMN workflow.create_dt IS '创建时间';
|
||||
COMMENT ON COLUMN workflow.update_dt IS '修改时间';
|
||||
COMMENT ON COLUMN workflow.deleted IS '逻辑删除 1、删除';
|
||||
COMMENT ON COLUMN workflow.ext_attrs IS '扩展字段';
|
||||
|
||||
CREATE TABLE workflow_node
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
node_name VARCHAR(64) NOT NULL,
|
||||
group_name VARCHAR(64) NOT NULL,
|
||||
job_id BIGINT NOT NULL,
|
||||
workflow_id BIGINT NOT NULL,
|
||||
node_type SMALLINT NOT NULL DEFAULT 1,
|
||||
expression_type SMALLINT NOT NULL DEFAULT 0,
|
||||
fail_strategy SMALLINT NOT NULL DEFAULT 1,
|
||||
workflow_node_status SMALLINT NOT NULL DEFAULT 1,
|
||||
priority_level INT NOT NULL DEFAULT 1,
|
||||
node_info TEXT DEFAULT NULL,
|
||||
version INT NOT NULL,
|
||||
create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
deleted SMALLINT NOT NULL DEFAULT 0,
|
||||
ext_attrs VARCHAR(256) NULL DEFAULT ''
|
||||
);
|
||||
|
||||
CREATE INDEX idx_create_dt_workflow_node ON workflow_node (create_dt);
|
||||
CREATE INDEX idx_namespace_id_group_name ON workflow_node (namespace_id, group_name);
|
||||
|
||||
COMMENT ON TABLE workflow_node IS '工作流节点';
|
||||
COMMENT ON COLUMN workflow_node.id IS '主键';
|
||||
COMMENT ON COLUMN workflow_node.namespace_id IS '命名空间id';
|
||||
COMMENT ON COLUMN workflow_node.node_name IS '节点名称';
|
||||
COMMENT ON COLUMN workflow_node.group_name IS '组名称';
|
||||
COMMENT ON COLUMN workflow_node.job_id IS '任务信息id';
|
||||
COMMENT ON COLUMN workflow_node.workflow_id IS '工作流ID';
|
||||
COMMENT ON COLUMN workflow_node.node_type IS '1、任务节点 2、条件节点';
|
||||
COMMENT ON COLUMN workflow_node.expression_type IS '1、SpEl、2、Aviator 3、QL';
|
||||
COMMENT ON COLUMN workflow_node.fail_strategy IS '失败策略 1、跳过 2、阻塞';
|
||||
COMMENT ON COLUMN workflow_node.workflow_node_status IS '工作流节点状态 0、关闭、1、开启';
|
||||
COMMENT ON COLUMN workflow_node.priority_level IS '优先级';
|
||||
COMMENT ON COLUMN workflow_node.node_info IS '节点信息';
|
||||
COMMENT ON COLUMN workflow_node.version IS '版本号';
|
||||
COMMENT ON COLUMN workflow_node.create_dt IS '创建时间';
|
||||
COMMENT ON COLUMN workflow_node.update_dt IS '修改时间';
|
||||
COMMENT ON COLUMN workflow_node.deleted IS '逻辑删除 1、删除';
|
||||
COMMENT ON COLUMN workflow_node.ext_attrs IS '扩展字段';
|
||||
|
||||
CREATE TABLE workflow_task_batch
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
group_name VARCHAR(64) NOT NULL,
|
||||
workflow_id BIGINT NOT NULL,
|
||||
task_batch_status SMALLINT NOT NULL DEFAULT 0,
|
||||
operation_reason SMALLINT NOT NULL DEFAULT 0,
|
||||
flow_info TEXT DEFAULT NULL,
|
||||
execution_at BIGINT NOT NULL DEFAULT 0,
|
||||
create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
deleted SMALLINT NOT NULL DEFAULT 0,
|
||||
ext_attrs VARCHAR(256) NULL DEFAULT ''
|
||||
);
|
||||
|
||||
CREATE INDEX idx_job_id_task_batch_status_workflow_task_batch ON workflow_task_batch (workflow_id, task_batch_status);
|
||||
CREATE INDEX idx_create_dt_workflow_task_batch ON workflow_task_batch (create_dt);
|
||||
CREATE INDEX idx_namespace_id_group_name_workflow_task_batch ON workflow_task_batch (namespace_id, group_name);
|
||||
|
||||
COMMENT ON TABLE workflow_task_batch IS '工作流批次';
|
||||
COMMENT ON COLUMN workflow_task_batch.id IS '主键';
|
||||
COMMENT ON COLUMN workflow_task_batch.namespace_id IS '命名空间id';
|
||||
COMMENT ON COLUMN workflow_task_batch.group_name IS '组名称';
|
||||
COMMENT ON COLUMN workflow_task_batch.workflow_id IS '工作流任务id';
|
||||
COMMENT ON COLUMN workflow_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功';
|
||||
COMMENT ON COLUMN workflow_task_batch.operation_reason IS '操作原因';
|
||||
COMMENT ON COLUMN workflow_task_batch.flow_info IS '流程信息';
|
||||
COMMENT ON COLUMN workflow_task_batch.execution_at IS '任务执行时间';
|
||||
COMMENT ON COLUMN workflow_task_batch.create_dt IS '创建时间';
|
||||
COMMENT ON COLUMN workflow_task_batch.update_dt IS '修改时间';
|
||||
COMMENT ON COLUMN workflow_task_batch.deleted IS '逻辑删除 1、删除';
|
||||
COMMENT ON COLUMN workflow_task_batch.ext_attrs IS '扩展字段';
|
||||
|
||||
|
||||
|
@ -4,14 +4,35 @@
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.aizuda.easy.retry.template.datasource.persistence.po.JobLogMessage">
|
||||
<id column="id" property="id" />
|
||||
<result column="group_name" property="groupName" />
|
||||
<result column="job_id" property="jobId" />
|
||||
<result column="task_id" property="taskId" />
|
||||
<result column="client_address" property="clientAddress"/>
|
||||
<result column="task_batch_id" property="taskBatchId" />
|
||||
<result column="create_dt" property="createDt" />
|
||||
<result column="message" property="message" />
|
||||
<id column="id" property="id"/>
|
||||
<result column="namespace_id" property="namespaceId"/>
|
||||
<result column="group_name" property="groupName"/>
|
||||
<result column="job_id" property="jobId"/>
|
||||
<result column="task_batch_id" property="taskBatchId"/>
|
||||
<result column="task_id" property="taskId"/>
|
||||
<result column="log_num" property="logNum"/>
|
||||
<result column="message" property="message"/>
|
||||
<result column="create_dt" property="createDt"/>
|
||||
<result column="real_time" property="realTime"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 定义批量新增的 SQL 映射 -->
|
||||
<insert id="batchInsert" parameterType="java.util.List">
|
||||
INSERT INTO job_log_message (namespace_id, group_name, job_id, task_batch_id, task_id, log_num, message,
|
||||
create_dt, real_time)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(
|
||||
#{item.namespaceId},
|
||||
#{item.groupName},
|
||||
#{item.jobId},
|
||||
#{item.taskBatchId},
|
||||
#{item.taskId},
|
||||
#{item.logNum},
|
||||
#{item.message},
|
||||
#{item.createDt},
|
||||
#{item.realTime}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
</mapper>
|
||||
|
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.aizuda.easy.retry.template.datasource.persistence.mapper.WorkflowMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.aizuda.easy.retry.template.datasource.persistence.po.Workflow">
|
||||
<id column="id" property="id" />
|
||||
<result column="namespace_id" property="namespaceId" />
|
||||
<result column="group_name" property="groupName" />
|
||||
<result column="workflow_status" property="workflowStatus" />
|
||||
<result column="next_trigger_at" property="nextTriggerAt" />
|
||||
<result column="flow_info" property="flowInfo" />
|
||||
<result column="create_dt" property="createDt" />
|
||||
<result column="update_dt" property="updateDt" />
|
||||
<result column="deleted" property="deleted" />
|
||||
<result column="ext_attrs" property="extAttrs" />
|
||||
</resultMap>
|
||||
<update id="updateBatchNextTriggerAtById" parameterType="java.util.List">
|
||||
update workflow 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>
|
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.aizuda.easy.retry.template.datasource.persistence.mapper.WorkflowNodeMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.aizuda.easy.retry.template.datasource.persistence.po.WorkflowNode">
|
||||
<id column="id" property="id" />
|
||||
<result column="namespace_id" property="namespaceId" />
|
||||
<result column="group_name" property="groupName" />
|
||||
<result column="job_id" property="jobId" />
|
||||
<result column="node_type" property="nodeType" />
|
||||
<result column="expression_type" property="expressionType" />
|
||||
<result column="fail_strategy" property="failStrategy" />
|
||||
<result column="workflow_node_status" property="workflowNodeStatus" />
|
||||
<result column="node_expression" property="nodeExpression" />
|
||||
<result column="create_dt" property="createDt" />
|
||||
<result column="update_dt" property="updateDt" />
|
||||
<result column="deleted" property="deleted" />
|
||||
<result column="ext_attrs" property="extAttrs" />
|
||||
</resultMap>
|
||||
|
||||
</mapper>
|
@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.aizuda.easy.retry.template.datasource.persistence.mapper.WorkflowTaskBatchMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.aizuda.easy.retry.template.datasource.persistence.po.WorkflowTaskBatch">
|
||||
<id column="id" property="id"/>
|
||||
<result column="namespace_id" property="namespaceId"/>
|
||||
<result column="group_name" property="groupName"/>
|
||||
<result column="workflow_id" property="workflowId"/>
|
||||
<result column="task_batch_status" property="taskBatchStatus"/>
|
||||
<result column="operation_reason" property="operationReason"/>
|
||||
<result column="execution_at" property="executionAt"/>
|
||||
<result column="create_dt" property="createDt"/>
|
||||
<result column="update_dt" property="updateDt"/>
|
||||
<result column="deleted" property="deleted"/>
|
||||
<result column="ext_attrs" property="extAttrs"/>
|
||||
</resultMap>
|
||||
<select id="selectWorkflowBatchPageList"
|
||||
parameterType="com.aizuda.easy.retry.template.datasource.persistence.dataobject.WorkflowBatchQueryDO"
|
||||
resultType="com.aizuda.easy.retry.template.datasource.persistence.dataobject.WorkflowBatchResponseDO">
|
||||
SELECT a.*, b.workflow_name
|
||||
FROM workflow_task_batch a join workflow b on a.workflow_id = b.id
|
||||
<where>
|
||||
a.namespace_id = #{queryDO.namespaceId}
|
||||
<if test="queryDO.workflowId != null">
|
||||
and a.workflow_id = #{queryDO.workflowId}
|
||||
</if>
|
||||
<if test="queryDO.groupNames != null and queryDO.groupNames.size > 0">
|
||||
and a.group_name IN
|
||||
<foreach collection="queryDO.groupNames" item="groupName" open="(" separator="," close=")">
|
||||
#{groupName}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="queryDO.taskBatchStatus != null">
|
||||
and task_batch_status = #{queryDO.taskBatchStatus}
|
||||
</if>
|
||||
<if test="queryDO.workflowName != null">
|
||||
and b.workflow_name like #{queryDO.workflowName}
|
||||
</if>
|
||||
and a.deleted = 0
|
||||
order by a.id desc
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
@ -4,14 +4,34 @@
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.aizuda.easy.retry.template.datasource.persistence.po.JobLogMessage">
|
||||
<id column="id" property="id" />
|
||||
<result column="group_name" property="groupName" />
|
||||
<result column="job_id" property="jobId" />
|
||||
<result column="task_id" property="taskId" />
|
||||
<result column="client_address" property="clientAddress"/>
|
||||
<result column="task_batch_id" property="taskBatchId" />
|
||||
<result column="create_dt" property="createDt" />
|
||||
<result column="message" property="message" />
|
||||
<id column="id" property="id"/>
|
||||
<result column="namespace_id" property="namespaceId"/>
|
||||
<result column="group_name" property="groupName"/>
|
||||
<result column="job_id" property="jobId"/>
|
||||
<result column="task_batch_id" property="taskBatchId"/>
|
||||
<result column="task_id" property="taskId"/>
|
||||
<result column="log_num" property="logNum"/>
|
||||
<result column="message" property="message"/>
|
||||
<result column="create_dt" property="createDt"/>
|
||||
<result column="real_time" property="realTime"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 定义批量新增的 SQL 映射 -->
|
||||
<insert id="batchInsert" parameterType="java.util.List">
|
||||
INSERT INTO job_log_message (namespace_id, group_name, job_id, task_batch_id, task_id, log_num, message,
|
||||
create_dt, real_time)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(
|
||||
#{item.namespaceId},
|
||||
#{item.groupName},
|
||||
#{item.jobId},
|
||||
#{item.taskBatchId},
|
||||
#{item.taskId},
|
||||
#{item.logNum},
|
||||
#{item.message},
|
||||
#{item.createDt},
|
||||
#{item.realTime}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
</mapper>
|
||||
|
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.aizuda.easy.retry.template.datasource.persistence.mapper.WorkflowMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.aizuda.easy.retry.template.datasource.persistence.po.Workflow">
|
||||
<id column="id" property="id" />
|
||||
<result column="namespace_id" property="namespaceId" />
|
||||
<result column="group_name" property="groupName" />
|
||||
<result column="workflow_status" property="workflowStatus" />
|
||||
<result column="next_trigger_at" property="nextTriggerAt" />
|
||||
<result column="flow_info" property="flowInfo" />
|
||||
<result column="create_dt" property="createDt" />
|
||||
<result column="update_dt" property="updateDt" />
|
||||
<result column="deleted" property="deleted" />
|
||||
<result column="ext_attrs" property="extAttrs" />
|
||||
</resultMap>
|
||||
<update id="updateBatchNextTriggerAtById" parameterType="java.util.List">
|
||||
UPDATE workflow 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>
|
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.aizuda.easy.retry.template.datasource.persistence.mapper.WorkflowNodeMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.aizuda.easy.retry.template.datasource.persistence.po.WorkflowNode">
|
||||
<id column="id" property="id" />
|
||||
<result column="namespace_id" property="namespaceId" />
|
||||
<result column="group_name" property="groupName" />
|
||||
<result column="job_id" property="jobId" />
|
||||
<result column="node_type" property="nodeType" />
|
||||
<result column="expression_type" property="expressionType" />
|
||||
<result column="fail_strategy" property="failStrategy" />
|
||||
<result column="workflow_node_status" property="workflowNodeStatus" />
|
||||
<result column="node_expression" property="nodeExpression" />
|
||||
<result column="create_dt" property="createDt" />
|
||||
<result column="update_dt" property="updateDt" />
|
||||
<result column="deleted" property="deleted" />
|
||||
<result column="ext_attrs" property="extAttrs" />
|
||||
</resultMap>
|
||||
|
||||
</mapper>
|
@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.aizuda.easy.retry.template.datasource.persistence.mapper.WorkflowTaskBatchMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.aizuda.easy.retry.template.datasource.persistence.po.WorkflowTaskBatch">
|
||||
<id column="id" property="id"/>
|
||||
<result column="namespace_id" property="namespaceId"/>
|
||||
<result column="group_name" property="groupName"/>
|
||||
<result column="workflow_id" property="workflowId"/>
|
||||
<result column="task_batch_status" property="taskBatchStatus"/>
|
||||
<result column="operation_reason" property="operationReason"/>
|
||||
<result column="execution_at" property="executionAt"/>
|
||||
<result column="create_dt" property="createDt"/>
|
||||
<result column="update_dt" property="updateDt"/>
|
||||
<result column="deleted" property="deleted"/>
|
||||
<result column="ext_attrs" property="extAttrs"/>
|
||||
</resultMap>
|
||||
<select id="selectWorkflowBatchPageList"
|
||||
parameterType="com.aizuda.easy.retry.template.datasource.persistence.dataobject.WorkflowBatchQueryDO"
|
||||
resultType="com.aizuda.easy.retry.template.datasource.persistence.dataobject.WorkflowBatchResponseDO">
|
||||
SELECT a.*, b.workflow_name
|
||||
FROM workflow_task_batch a join workflow b on a.workflow_id = b.id
|
||||
<where>
|
||||
a.namespace_id = #{queryDO.namespaceId}
|
||||
<if test="queryDO.workflowId != null">
|
||||
and a.workflow_id = #{queryDO.workflowId}
|
||||
</if>
|
||||
<if test="queryDO.groupNames != null and queryDO.groupNames.size > 0">
|
||||
and a.group_name IN
|
||||
<foreach collection="queryDO.groupNames" item="groupName" open="(" separator="," close=")">
|
||||
#{groupName}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="queryDO.taskBatchStatus != null">
|
||||
and task_batch_status = #{queryDO.taskBatchStatus}
|
||||
</if>
|
||||
<if test="queryDO.workflowName != null">
|
||||
and b.workflow_name like #{queryDO.workflowName}
|
||||
</if>
|
||||
and a.deleted = 0
|
||||
order by a.id desc
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
@ -161,9 +161,7 @@ public class WorkflowBatchHandler {
|
||||
jobTaskBatch.setId(workflowTaskBatchId);
|
||||
jobTaskBatch.setTaskBatchStatus(taskStatus);
|
||||
jobTaskBatch.setOperationReason(operationReason);
|
||||
Assert.isTrue(1 == workflowTaskBatchMapper.updateById(jobTaskBatch),
|
||||
() -> new EasyRetryServerException("更新任务失败"));
|
||||
|
||||
workflowTaskBatchMapper.updateById(jobTaskBatch);
|
||||
}
|
||||
|
||||
public void stop(Long workflowTaskBatchId, Integer operationReason) {
|
||||
|
Loading…
Reference in New Issue
Block a user