更新日志
v1.6.0
更新日志
问题修复
- 修复工作流超时执行失败问题未兜底 【BUG】
- 客户端jobArgs参数添加WorkflowNodeId和WorkflowTaskBatchId 【优化】
- 修复更新ownerId失败问题【BUG】
- 修改批次详情上下文错误问题【BUG】
- 修复工作workflowNode 更新命名空间错误问题【BUG】
v1.6.0-beta1
更新日志
重试机制增强
- 支持
retryIfResult
:根据方法返回结果判断是否重试 - 支持自定义返回值与异常处理(当配置为
isThrowException=false
时支持MethodResult
) - 支持多个参数序列化器同时使用
- 新增Fury序列化工具(Fury Serializer)
- 增加任务标签字段
- 新增负责人配置
定时任务增强
- 支持任务指定时间点触发(时间点调度)
- 增加定时任务标签字段
- JAVA SDK 支持标签和时间点执行
- 新增执行器同步服务端功能,新增时任务可直接选择执行器
- 优化
doMap
注释与异常处理逻辑
工作流能力增强
- 支持任务指定时间点触发(时间点调度)
- 增加负责人配置
客户端能力增强
- 客户端注册支持展示系统版本和客户端类型(JAVA、GO、PYTHON)
- 客户端新增标签配置
- 客户端支持动态上下线能力
- 支持在线编辑、删除、更新标签能力
- 优化使用无锁化优化滑动窗口性能及稳定性
其他
- 优化实例管理(节点注册、探活、故障转移、下线、节点过滤等)
问题修复
- 修复重试幂等 ID 重复问题(
SimpleIdempotentIdGenerate
)
标签配置: https://snailjob.opensnail.com/docs/guide/client/java/client.htmlMYSQL变更(其他DB变更请自行同步)
全量的SQL请参考项目 /doc/sql/x.sql
mysql
alter table sj_job
add labels varchar(512) default '' null comment '标签';
CREATE TABLE `sj_job_executor`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
`group_name` varchar(64) NOT NULL COMMENT '组名称',
`executor_info` varchar(256) NOT NULL COMMENT '任务执行器名称',
`executor_type` varchar(3) NOT NULL COMMENT '1:java 2:python 3:go',
`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_namespace_id_group_name` (`namespace_id`, `group_name`),
KEY `idx_create_dt` (`create_dt`)
) ENGINE = InnoDB
AUTO_INCREMENT = 0
DEFAULT CHARSET = utf8mb4 COMMENT ='任务执行器信息';
alter table sj_retry
add serializer_name varchar(32) default 'jackson' not null comment '执行方法参数序列化器名称';
alter table sj_retry_dead_letter
add serializer_name varchar(32) default 'jackson' not null comment '执行方法参数序列化器名称';
alter table sj_retry_scene_config
add owner_id bigint null comment '负责人id',
add labels varchar(512) default '' null comment '标签'
;
drop table sj_sequence_alloc;
alter table sj_server_node
add labels varchar(512) default '' null comment '标签';
alter table sj_workflow
add owner_id bigint null comment '负责人id';
v1.5.0
更新日志
包含v1.5.0-beta1所有功能
- 修复Grpc客户端重连问题【BUG】
- Job清理日志减少事务范围【优化】
- 组管理修改时描述字段未赋值【BUG】
- 停/启用任务后负责人为空 【BUG】
- 调整SyncRemoteConfig 初始化顺序、调整ClientRegister 初始化顺序 【优化】
- 调整AbstractHttpExecutor参数初始化 【优化】
- 新增GO任务类型【新增】
- 优化脚本执行器工作目录初始化 【优化】
v1.5.0-beta1
更新日志
- 增加 WebSocket 实时获取重试任务和定时任务日志【新增】
- 重试新增OpenApi支持查询重试任务、触发、状态更新【新增】
- 定时任务支持通过名称模糊查询【新增】
- 死信表新增 groupId 和 sceneId 字段【新增】
- 重试任务支持"防止任务重复拉取"配置【新增】
- 增加重试任务列表更新时间字段【新增】
- 回滚死信表数据时支持异常明确提示(存在重复数据)【新增】
- 内置 HTTP 执行器支持自定义响应结果判断【新增】
- GitHub Action 构建优化,支持 arm64 镜像 【优化】
- 修复重试次数传播机制错误问题【BUG】
- 修复 CVE 漏洞并移除 log4j 【BUG】
- 修复随机等待退避策略的时间单位转换错误【BUG】
- 重构 RPC 命名结构,方便后续扩展【优化】
- 翻译系统中文字符串为英文【优化】
- 新增ES、Mongo日志存储插件【新增】
- 新增SSO登录插件【新增】
- 优化SQL性能 【优化】
- 修复重试序列化LocalDateTime失败问题【BUG】
- 修复滑动窗口上报窗口时间错误【BUG】
- 优化重试任务列表和死信列表查询按钮显示问题 【优化】
- 重试任务列表增加更新时间 2.修复重试列表更新时间title【优化】
- 修复场景阻塞策略错误问题【BUG】
- 重试任务达到最大重试次数后可以手动执行【优化】
- 优化重试列表更多按钮的下拉框样式【优化】
注意 本次重点重构了重试模块的流程,由之前的同步调度客户端改为异步调度客户端. 将支持更高并发的调度同时大大提高服务端的稳定性
MYSQL变更(其他DB变更请自行同步)
全量的SQL请参考项目 /doc/sql/x.sql
mysql
alter table sj_retry_dead_letter
add group_id bigint not null comment '组Id' after group_name;
alter table sj_retry_dead_letter
add scene_id bigint not null comment '场景ID' after scene_name;
alter table sj_retry
add group_id bigint not null comment '组Id' after group_name;
alter table sj_retry
add scene_id bigint not null comment '场景ID' after scene_name;
drop index idx_namespace_id_group_name_retry_status on sj_retry;
drop index idx_namespace_id_group_name_scene_name on sj_retry;
create index idx_retry_status_bucket_index
on sj_retry (retry_status, bucket_index);
alter table sj_retry
drop key uk_name_task_type_idempotent_id_deleted;
alter table sj_retry
add constraint uk_scene_tasktype_idempotentid_deleted
unique (scene_id, task_type, idempotent_id, deleted);
v1.4.0
更新日志
包含v1.4.0-beta1所有功能
- hikari数据源默认最大连接数由20改为100【优化】
- Job清理日志减少事务范围【优化】
- 日志默认改为7天 【优化】
- 组管理删除出错BUG【BUG]
- 修复工作流中任务未与工作流节点绑定【BUG]
- 修复spel类型注入,会导致RCE的安全问题 【BUG]
- akka 替换为pekko【优化】
- 修复工作流去重告警异常问题 【BUG】
v1.4.0-beta1
更新日志
- sdk手动触发调用时,支持传递临时参数【优化】
- oracle sql 索引名过长 【BUG】
- 默认rpc-type: grpc【新增】
- 场景添加回调配置 【新增】
- Converter移入convert包【优化】
- 添加 @EqualsAndHashCode(callSuper=true) 去除warning 【优化】
- 消除 client-starter 依赖冲突(error_prone_annotations)【优化】
- 消除 server-starter 依赖冲突(checker-qual,error_prone_annotations)【优化】
- 优化maven结构,根pom统一管理版本【优化】
- 修复定时任务触发常驻任务时,通过任务开关无法正常关闭定时任务问题 【BUG】
- 修复了oracle数据库更新定时任务状态失败问题【BUG】
- 修复代码编辑器格式化问题【BUG】
- 修复周期性cron问题【BUG】
- 重试模块服务端重构【新增】
- sj_retry_task_0 改为 sj_retry
- sj_retry_dead_letter_0 改为 sj_retry_dead_letter
- sj_retry_task_log 改为 sj_retry_task_log
注意 本次重点重构了重试模块的流程,由之前的同步调度客户端改为异步调度客户端. 将支持更高并发的调度同时大大提高服务端的稳定性
MYSQL变更(其他DB变更请自行同步)
全量的SQL请参考项目 /doc/sql/x.sql
mysql
ALTER TABLE `sj_group_config` DROP COLUMN `bucket_index`;
ALTER TABLE `sj_job` MODIFY COLUMN `block_strategy` tinyint(4) NOT NULL DEFAULT 1 COMMENT '阻塞策略 1、丢弃 2、覆盖 3、并行 4、恢复';
ALTER TABLE `sj_retry_scene_config` ADD COLUMN `block_strategy` tinyint(4) NOT NULL DEFAULT 1 COMMENT '阻塞策略 1、丢弃 2、覆盖 3、并行' AFTER `route_key`;
ALTER TABLE `sj_retry_scene_config` ADD COLUMN `cb_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '回调状态 0、不开启 1、开启' AFTER `block_strategy`;
ALTER TABLE `sj_retry_scene_config` ADD COLUMN `cb_trigger_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '1、默认等级 2、固定间隔时间 3、CRON 表达式' AFTER `cb_status`;
ALTER TABLE `sj_retry_scene_config` ADD COLUMN `cb_max_count` int(11) NOT NULL DEFAULT 16 COMMENT '回调的最大执行次数' AFTER `cb_trigger_type`;
ALTER TABLE `sj_retry_scene_config` ADD COLUMN `cb_trigger_interval` varchar(16) NOT NULL DEFAULT '' COMMENT '回调的最大执行次数' AFTER `cb_max_count`;
ALTER TABLE `sj_retry_task_log_message` DROP COLUMN `unique_id`;
ALTER TABLE `sj_retry_task_log_message` ADD COLUMN `retry_id` bigint(20) NOT NULL COMMENT '重试信息Id' AFTER `group_name`;
ALTER TABLE `sj_retry_task_log_message` ADD COLUMN `retry_task_id` bigint(20) NOT NULL COMMENT '重试任务Id' AFTER `retry_id`;
CREATE INDEX idx_namespace_id_group_name_retry_task_id ON sj_retry_task_log_message (`namespace_id`, `group_name`, `retry_task_id`);
ALTER TABLE sj_retry_task_log_message DROP INDEX idx_namespace_id_group_name_scene_name;
CREATE TABLE `sj_retry_dead_letter`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
`group_name` varchar(64) NOT NULL COMMENT '组名称',
`scene_name` varchar(64) NOT NULL COMMENT '场景名称',
`idempotent_id` varchar(64) NOT NULL COMMENT '幂等id',
`biz_no` varchar(64) NOT NULL DEFAULT '' COMMENT '业务编号',
`executor_name` varchar(512) NOT NULL DEFAULT '' COMMENT '执行器名称',
`args_str` text NOT NULL COMMENT '执行方法参数',
`ext_attrs` text NOT NULL COMMENT '扩展字段',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`),
KEY `idx_idempotent_id` (`idempotent_id`),
KEY `idx_biz_no` (`biz_no`),
KEY `idx_create_dt` (`create_dt`)
) ENGINE = InnoDB
AUTO_INCREMENT = 0
DEFAULT CHARSET = utf8mb4 COMMENT ='死信队列表'
;
CREATE TABLE `sj_retry`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
`group_name` varchar(64) NOT NULL COMMENT '组名称',
`scene_name` varchar(64) NOT NULL COMMENT '场景名称',
`idempotent_id` varchar(64) NOT NULL COMMENT '幂等id',
`biz_no` varchar(64) NOT NULL DEFAULT '' COMMENT '业务编号',
`executor_name` varchar(512) NOT NULL DEFAULT '' COMMENT '执行器名称',
`args_str` text NOT NULL COMMENT '执行方法参数',
`ext_attrs` text NOT NULL COMMENT '扩展字段',
`next_trigger_at` bigint(13) NOT NULL COMMENT '下次触发时间',
`retry_count` int(11) NOT NULL DEFAULT 0 COMMENT '重试次数',
`retry_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '重试状态 0、重试中 1、成功 2、最大重试次数',
`task_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '任务类型 1、重试数据 2、回调数据',
`bucket_index` int(11) NOT NULL DEFAULT 0 COMMENT 'bucket',
`parent_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '父节点id',
`deleted` bigint(20) 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 '修改时间',
PRIMARY KEY (`id`),
KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`),
KEY `idx_namespace_id_group_name_retry_status` (`namespace_id`, `group_name`, `retry_status`),
KEY `idx_idempotent_id` (`idempotent_id`),
KEY `idx_biz_no` (`biz_no`),
KEY `idx_parent_id` (`parent_id`),
KEY `idx_create_dt` (`create_dt`),
UNIQUE KEY `uk_name_task_type_idempotent_id_deleted` (`namespace_id`, `group_name`, `task_type`, `idempotent_id`, `deleted`)
) ENGINE = InnoDB
AUTO_INCREMENT = 0
DEFAULT CHARSET = utf8mb4 COMMENT ='重试信息表'
;
CREATE TABLE `sj_retry_task`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id',
`group_name` varchar(64) NOT NULL COMMENT '组名称',
`scene_name` varchar(64) NOT NULL COMMENT '场景名称',
`retry_id` bigint(20) NOT NULL COMMENT '重试信息Id',
`ext_attrs` text NOT NULL COMMENT '扩展字段',
`task_status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '重试状态',
`task_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '任务类型 1、重试数据 2、回调数据',
`operation_reason` tinyint(4) NOT NULL DEFAULT 0 COMMENT '操作原因',
`client_info` varchar(128) DEFAULT NULL COMMENT '客户端地址 clientId#ip:port',
`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_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`),
KEY `task_status` (`task_status`),
KEY `idx_create_dt` (`create_dt`),
KEY `idx_retry_id` (`retry_id`)
) ENGINE = InnoDB
AUTO_INCREMENT = 0
DEFAULT CHARSET = utf8mb4 COMMENT ='重试任务表'
;
DROP TABLE sj_retry_dead_letter_0;
DROP TABLE sj_retry_task_0;
DROP TABLE sj_retry_task_log;
v1.3.0
更新日志
包含v1.3.0-beta1、v1.3.0-beta1.1、v1.3.0-beta2所有功能
v1.3.0-beta2
v1.3.0-beta1.1
更新日志
- 静态分片参数 taskBatchId 没有设置【BUG】
- 修复job、工作流notify和场景的notifyIds为null序列化问题【BUG】
- 修复定时任务普通用户添加定时任务无权限问题【BUG】
- 修复重试场景重试数量超过阈值定时任务告警空指针异常【BUG】
- 修复上下文值为null 合并异常问题 【BUG】
- 新增GRPC重连事件【新增】
- 负责人支持清除【新增】
- 修复工作流构建错误问题【BUG】
v1.3.0-beta1
更新日志
- 新增Grpc通讯模块【新增】
- 修改服务端默认端口号为17888【优化】
- 设置客户端client为-1时,支持随机端口号【新增】
- 邮箱通知添加额外的自定义属性【新增】
- 增加删除功能OpenApi【新增】
- isRetry改为retryStatus 【优化】
- 将内置执行器移入builtin包【优化】
- 调整客户端注册逻辑;使用主节点模式对客户端进行续签【优化】
- 优化重试场景、定时任务、工作流告警通知配置【优化】
- 手动执行任务/工作流支持传入临时参数【新增】
- 定时任务新增负责人选项【新增】
- 定时任务增加执行器信息搜索条件【新增】
- 支持无客户端时告警功能【新增】
- 客户执行失败支持显示失败原因新增】
注意 本次新增了Grpc协议,后续计划逐渐废弃Netty请大家尽快切换
snail-job.rpc-type=grpc
MYSQL变更(其他DB变更请自行同步)
全量的SQL请参考项目 /doc/sql/x.sql
mysql
ALTER TABLE `sj_notify_config`
ADD COLUMN `notify_name` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '通知名称',
DROP COLUMN `business_id`;
ALTER TABLE `sj_job`
ADD COLUMN `notify_ids` VARCHAR(128) NOT NULL DEFAULT '' COMMENT '通知告警场景配置id列表',
ADD COLUMN `owner_id` bigint(20) NULL COMMENT '负责人id';
ALTER TABLE `sj_retry_scene_config`
ADD COLUMN `notify_ids` VARCHAR(128) NOT NULL DEFAULT '' COMMENT '通知告警场景配置id列表';
ALTER TABLE `sj_workflow`
ADD COLUMN `notify_ids` VARCHAR(128) NOT NULL DEFAULT '' COMMENT '通知告警场景配置id列表';
v1.2.0
更新日志
> 本次升级为1.2.0正式版本包含(1.2.0-beta1,1.2.0-beta2)
- 定时、重试任务清除时间一小时改为四小时【优化】
- 修复日志清除BUG【BUG】
- 信创arm环境下Docker官方镜像无法运行的问题【BUG】
- 升级依赖包消除 CVE【优化】
- 修复工作流编排下的http内置执行器在请求头中透传上下文中value包含中文问题【BUG】
- 客户端日志上报组件 org.apache.log4j.MDC修改为org.slf4j.MDC 【优化】
v1.2.0-beta2
更新日志
- 新增OpenApi功能【新增】
- 修复Sharding和Map方法修饰符错误【BUG】
- 内置脚本执行器支持自定义编码;【优化】
- 内置http执行器支持工作流任务在请求头中透传工作流上下文内容【优化】
- 定时任务使用恢复阻塞策略时,只重新调用不成功的任务【优化】
- 修复MapReduce模式Reduce、MergeReduce阶段异常更新工作流上下文 【BUG】
- 去除工作流节点stop相关重复代码【优化】
- 修复日志清除BUG【BUG】
- 修复服务端生成channel并发问题【BUG】
- 修复客户端分片参数为ShardingJobArgs时不生效问题【BUG】
- 按 pgsql 数据库补齐 大金 Mapper.xml【BUG】
- 删除日志的全局开关【优化】
- 修复oracle任务状态变更偶发失败情况【优化】
- 升级MP版本3.5.8【优化】
- 修复客户端获取线程时的并发问题【BUG】
- 添加snail-job的window启动脚本.【新增】
- 添加snail-job启动Shell脚本【新增】
- 批次状态查询支持多选【新增】 :::
v1.2.0-beta1
更新日志
- 新增人大金仓数据库【新增】
- 优化mybatis xml的加载顺序, 支持多个id同时加载【优化】
- docker-compose.yaml 更新达梦镜像【优化】
- 增加工作流决策节点模拟上下文校验结果返回【新增】
- 优化json转换失败的日志【优化】
- 增加第一个及最后一个客户端路由功能【新增】
- 增加路由缓存定期清理功能【新增】
- 修复Map任务问题不能重试【BUG】
- PaginationInnerInterceptor不制定 dbType,由 mp 自动管理,解决 Oracle 11g分页兼容问题。【优化】
- 去除动态tablePrefix配置【优化】
- 修复Map/MapReduce重试问题,及手动暂停相关逻辑【BUG】
- 新增CMD、PowerShell、Shell、Http相关执行器【新增】
- 修复oracle任务状态变更偶发失败情况【BUG】
- 重构结果处理逻辑【优化】
- 去除定时任务结果更新的分布式锁【优化】
- map和map reduce支持配置参数全路径传递【新增】
- 优化客户端线程池,当获取缓存线程池时才设置并行度【优化】
- 添加任务执行时间【新增】
v1.1.1
更新日志
- 这里是列表文本添加Oracle i18n支持
- 添加 python 客户端项目链接
- 修复任务批次删除逻辑错误
- Oracle DDL 对象名称不能超过30个字符(12.2之前)
- 修复客户端注册问题
- 修复表格列设置字段名异常问题
v1.1.0
更新日志
- 【信创】支持达梦数据库【新增】
- 更新密码策略:字母、数字、特殊字符,任意2种组成,6-20位【优化】
- 工作流批次、重试批次、重试日志添加时间筛选(默认查询一个月)【新增】
- 修复通知配置分页显示问题【BUG】
- github工作流添加maven cache【优化】
- mp自动填充createDt,updateDt字段【优化】
- 提取所有insertBatch xml语句到template【优化】
- 优化空间切换组件样式【优化】
- 用户列表添加[序号]、[创建时间]字段【新增】
- 所有搜索框允许清除【优化】
- 修复工作流搜索参数定义错误【BUG】
- 工作流批次按照任务名称查询体验【优化】
- 定时任务批次按照任务名称查询体验【优化】
- 修复前端toString()空指针问题【优化】
- 命名空间非活跃条目显示图标【优化】
- 登录界面可以做一下键盘回车登录【优化】
- updateBatch系列脚本增加update_dt=CURRENT_TIMESTAMP【优化】
- 页面路径修改 notify/scene => notify/config 【优化】
- 优化客户端发送消息是组为空的校验【优化】
- 重构钉钉消息发送工具类(优化)
- 工作流支持全局上下文传递(新增)
- 支持动态分片(Map/MapReuce)(新增)
- 修复oracle超过1000批量删除失败问题(BUG)
- 定时任务阻塞策略新增恢复类型(新增)
- 工作流阻塞策略新增恢复类型(新增)
- sj_distributed_lock 分布式锁表去掉自增主键(优化)
- 优化决策节点手动校验逻辑并支持手动校验按钮(优化)
- 工作流决策节点判定逻辑使用上下文进行判断(优化)
- 工作流批次详情新增实时刷新功能(新增)
- 工作流和定时任务实时日志新增自动刷新功能(新增)
- 修复实时日志展示重复问题(BUG)
- 重试次数支持最低为0次(优化)
- 登录新增验证码功能(新增)
- 重试场景随机和固定间隔重试间隔新增最低10s限制(优化)
- 任务项列列表新增任务名称字段(优化)
- 升级mybatis-plus版本(3.5.6->3.5.7)(升级)
- 修复退出登录和修改密码未重定向到登录页问题(BUG)
- 工作流支持页面初始化上下文信息(新增)
- 空间、组、重试场景等删除功能
- 优化其他已知问题
MYSQL变更(其他DB变更请自行同步)
全量的SQL请参考项目 /doc/sql/x.sql
sql
ALTER TABLE `sj_distributed_lock` DROP INDEX `uk_name`;
ALTER TABLE `sj_distributed_lock` MODIFY COLUMN `id` bigint UNSIGNED NOT NULL COMMENT '主键';
ALTER TABLE `sj_distributed_lock` DROP PRIMARY KEY;
ALTER TABLE `sj_distributed_lock` ADD PRIMARY KEY (`name`) USING BTREE;
ALTER TABLE `sj_distributed_lock` DROP COLUMN `id`;
ALTER TABLE `sj_job_task` ADD COLUMN `mr_stage` tinyint NULL DEFAULT NULL COMMENT '动态分片所处阶段 1:map 2:reduce 3:mergeReduce';
ALTER TABLE `sj_job_task` ADD COLUMN `leaf` tinyint NOT NULL DEFAULT 1 COMMENT '叶子节点' AFTER `mr_stage`;
ALTER TABLE `sj_job_task` ADD COLUMN `task_name` varchar(255) NOT NULL DEFAULT '' COMMENT '任务名称';
ALTER TABLE `sj_job_task` ADD COLUMN `wf_context` text NULL COMMENT '工作流全局上下文' ;
ALTER TABLE `sj_workflow_task_batch` ADD COLUMN `wf_context` text NULL COMMENT '全局上下文' ;
ALTER TABLE `sj_workflow_task_batch` ADD COLUMN `version` int NOT NULL DEFAULT 1 COMMENT;
ALTER TABLE `sj_workflow` ADD COLUMN `wf_context` text NULL COMMENT '全局上下文' ;
参与者设计开发人员名单
v 1.1.0-beta2
更新日志
- 重构钉钉消息发送工具类(优化)
- 工作流支持全局上下文传递(新增)
- 支持动态分片(Map/MapReuce)(新增)
- 修复oracle超过1000批量删除失败问题(BUG)
- 定时任务阻塞策略新增恢复类型(新增)
- 工作流阻塞策略新增恢复类型(新增)
- sj_distributed_lock 分布式锁表去掉自增主键(优化)
- 优化决策节点手动校验逻辑并支持手动校验按钮(优化)
- 工作流决策节点判定逻辑使用上下文进行判断(优化)
- 工作流批次详情新增实时刷新功能(新增)
- 工作流和定时任务实时日志新增自动刷新功能(新增)
- 修复实时日志展示重复问题(BUG)
- 重试次数支持最低为0次(优化)
- 登录新增验证码功能(新增)
- 重试场景随机和固定间隔重试间隔新增最低10s限制(优化)
- 任务项列列表新增任务名称字段(优化)
- 升级mybatis-plus版本(3.5.6->3.5.7)(升级)
- 修复退出登录和修改密码未重定向到登录页问题(BUG)
- 工作流支持页面初始化上下文信息(新增)
- 优化其他已知问题
MYSQL变更(其他DB变更请自行同步)
全量的SQL请参考项目 /doc/sql/x.sql
sql
ALTER TABLE `sj_distributed_lock` DROP INDEX `uk_name`;
ALTER TABLE `sj_distributed_lock` MODIFY COLUMN `id` bigint UNSIGNED NOT NULL COMMENT '主键';
ALTER TABLE `sj_distributed_lock` DROP PRIMARY KEY;
ALTER TABLE `sj_distributed_lock` ADD PRIMARY KEY (`name`) USING BTREE;
ALTER TABLE `sj_distributed_lock` DROP COLUMN `id`;
ALTER TABLE `sj_job_task` ADD COLUMN `mr_stage` tinyint NULL DEFAULT NULL COMMENT '动态分片所处阶段 1:map 2:reduce 3:mergeReduce';
ALTER TABLE `sj_job_task` ADD COLUMN `leaf` tinyint NOT NULL DEFAULT 1 COMMENT '叶子节点' AFTER `mr_stage`;
ALTER TABLE `sj_job_task` ADD COLUMN `task_name` varchar(255) NOT NULL DEFAULT '' COMMENT '任务名称';
ALTER TABLE `sj_job_task` ADD COLUMN `wf_context` text NULL COMMENT '工作流全局上下文' ;
ALTER TABLE `sj_workflow_task_batch` ADD COLUMN `wf_context` text NULL COMMENT '全局上下文' ;
ALTER TABLE `sj_workflow_task_batch` ADD COLUMN `version` int NOT NULL DEFAULT 1 COMMENT;
ALTER TABLE `sj_workflow` ADD COLUMN `wf_context` text NULL COMMENT '全局上下文' ;
参与者设计开发人员名单
v 1.1.0-beta1
更新日志
- 【信创】支持达梦数据库【新增】
- 更新密码策略:字母、数字、特殊字符,任意2种组成,6-20位【优化】
- 工作流批次、重试批次、重试日志添加时间筛选(默认查询一个月)【新增】
- 修复通知配置分页显示问题【BUG】
- github工作流添加maven cache【优化】
- mp自动填充createDt,updateDt字段【优化】
- 提取所有insertBatch xml语句到template【优化】
- 优化空间切换组件样式【优化】
- 用户列表添加[序号]、[创建时间]字段【新增】
- 所有搜索框允许清除【优化】
- 修复工作流搜索参数定义错误【BUG】
- 工作流批次按照任务名称查询体验【优化】
- 定时任务批次按照任务名称查询体验【优化】
- 修复前端toString()空指针问题【优化】
- 命名空间非活跃条目显示图标【优化】
- 登录界面可以做一下键盘回车登录【优化】
- updateBatch系列脚本增加update_dt=CURRENT_TIMESTAMP【优化】
- 页面路径修改 notify/scene => notify/config 【优化】
- 优化客户端发送消息是组为空的校验【优化】
- 优化其他若干已知问题【优化】
参与者设计开发人员名单
v 1.0.1
更新日志
- 定时任务,任务类型为切片,提交失败【BUG】
- 旧密码无需使用密码规则校验,非空即可【BUG】
- 优化携带参数路由跳转体验【优化】
- 修复 cron 表达式组件问题【BUG】
- github工作流添加maven cache【优化】
参与者设计开发人员名单
v 1.0.0
更新日志
- 支持组、定时任务、工作流、重试任务、通知人导入和导出【新增】
- 工作流从antd迁移到soybeanjs【优化】
- 超级管理员不允许删除、修改权限【优化】
- 调整定时任务、工作流、重试场景的配置菜单排序【优化】
- 修复已知的前端搜索问题【BUG】
- 修复工作流多个决策节点场景下导致的任务节点没有触发问题【BUG】
- 首页任务Card添加点击动作【新增】
- 支持普通用户修改密码【新增】
- 优化客户端group配置和enabled加载顺序【优化】
- 修复常驻任务执行阻塞策略时无法准时开启下一次任务【BUG】
- 修复sqlserver数据库MP分页查询是没有带order by 导致的查询报错【BUG】
- 定时任务支持超时检查机制【新增】
- 工作流执行超时检查机制【新增】
- 组名称和重试场景名称支持短横线 (-) 格式【优化】
- 调整定时任务、重试场景、通知场景配置的表单布局【优化】
- 每次 "编辑" 定时任务,cron 表达式就会被重置成默认值【BUG】
- 修复工作流任务显示不正确【BUG】
- 修复 clearOfflineNode 出现死锁【BUG】
- 优化其他已知问题【优化】
参与者设计开发人员名单