Skip to content

更新日志

v1.6.0

更新日志


问题修复

  1. 修复工作流超时执行失败问题未兜底 【BUG】
  2. 客户端jobArgs参数添加WorkflowNodeId和WorkflowTaskBatchId 【优化】
  3. 修复更新ownerId失败问题【BUG】
  4. 修改批次详情上下文错误问题【BUG】
  5. 修复工作workflowNode 更新命名空间错误问题【BUG】

v1.6.0-beta1

更新日志


重试机制增强

  1. 支持 retryIfResult:根据方法返回结果判断是否重试
  2. 支持自定义返回值与异常处理(当配置为isThrowException=false时支持MethodResult
  3. 支持多个参数序列化器同时使用
  4. 新增Fury序列化工具(Fury Serializer)
  5. 增加任务标签字段
  6. 新增负责人配置

定时任务增强

  1. 支持任务指定时间点触发(时间点调度)
  2. 增加定时任务标签字段
  3. JAVA SDK 支持标签和时间点执行
  4. 新增执行器同步服务端功能,新增时任务可直接选择执行器
  5. 优化 doMap 注释与异常处理逻辑

工作流能力增强

  1. 支持任务指定时间点触发(时间点调度)
  2. 增加负责人配置

客户端能力增强

  1. 客户端注册支持展示系统版本和客户端类型(JAVA、GO、PYTHON)
  2. 客户端新增标签配置
  3. 客户端支持动态上下线能力
  4. 支持在线编辑、删除、更新标签能力
  5. 优化使用无锁化优化滑动窗口性能及稳定性

其他

  1. 优化实例管理(节点注册、探活、故障转移、下线、节点过滤等)

问题修复

  • 修复重试幂等 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所有功能
  1. 修复Grpc客户端重连问题【BUG】
  2. Job清理日志减少事务范围【优化】
  3. 组管理修改时描述字段未赋值【BUG】
  4. 停/启用任务后负责人为空 【BUG】
  5. 调整SyncRemoteConfig 初始化顺序、调整ClientRegister 初始化顺序 【优化】
  6. 调整AbstractHttpExecutor参数初始化 【优化】
  7. 新增GO任务类型【新增】
  8. 优化脚本执行器工作目录初始化 【优化】

v1.5.0-beta1

更新日志


  1. 增加 WebSocket 实时获取重试任务和定时任务日志【新增】
  2. 重试新增OpenApi支持查询重试任务、触发、状态更新【新增】
  3. 定时任务支持通过名称模糊查询【新增】
  4. 死信表新增 groupId 和 sceneId 字段【新增】
  5. 重试任务支持"防止任务重复拉取"配置【新增】
  6. 增加重试任务列表更新时间字段【新增】
  7. 回滚死信表数据时支持异常明确提示(存在重复数据)【新增】
  8. 内置 HTTP 执行器支持自定义响应结果判断【新增】
  9. GitHub Action 构建优化,支持 arm64 镜像 【优化】
  10. 修复重试次数传播机制错误问题【BUG】
  11. 修复 CVE 漏洞并移除 log4j 【BUG】
  12. 修复随机等待退避策略的时间单位转换错误【BUG】
  13. 重构 RPC 命名结构,方便后续扩展【优化】
  14. 翻译系统中文字符串为英文【优化】
  15. 新增ES、Mongo日志存储插件【新增】
  16. 新增SSO登录插件【新增】
  17. 优化SQL性能 【优化】
  18. 修复重试序列化LocalDateTime失败问题【BUG】
  19. 修复滑动窗口上报窗口时间错误【BUG】
  20. 优化重试任务列表和死信列表查询按钮显示问题 【优化】
  21. 重试任务列表增加更新时间 2.修复重试列表更新时间title【优化】
  22. 修复场景阻塞策略错误问题【BUG】
  23. 重试任务达到最大重试次数后可以手动执行【优化】
  24. 优化重试列表更多按钮的下拉框样式【优化】

注意 本次重点重构了重试模块的流程,由之前的同步调度客户端改为异步调度客户端. 将支持更高并发的调度同时大大提高服务端的稳定性

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所有功能
  1. hikari数据源默认最大连接数由20改为100【优化】
  2. Job清理日志减少事务范围【优化】
  3. 日志默认改为7天 【优化】
  4. 组管理删除出错BUG【BUG]
  5. 修复工作流中任务未与工作流节点绑定【BUG]
  6. 修复spel类型注入,会导致RCE的安全问题 【BUG]
  7. akka 替换为pekko【优化】
  8. 修复工作流去重告警异常问题 【BUG】

v1.4.0-beta1

更新日志

  1. sdk手动触发调用时,支持传递临时参数【优化】
  2. oracle sql 索引名过长 【BUG】
  3. 默认rpc-type: grpc【新增】
  4. 场景添加回调配置 【新增】
  5. Converter移入convert包【优化】
  6. 添加 @EqualsAndHashCode(callSuper=true) 去除warning 【优化】
  7. 消除 client-starter 依赖冲突(error_prone_annotations)【优化】
  8. 消除 server-starter 依赖冲突(checker-qual,error_prone_annotations)【优化】
  9. 优化maven结构,根pom统一管理版本【优化】
  10. 修复定时任务触发常驻任务时,通过任务开关无法正常关闭定时任务问题 【BUG】
  11. 修复了oracle数据库更新定时任务状态失败问题【BUG】
  12. 修复代码编辑器格式化问题【BUG】
  13. 修复周期性cron问题【BUG】
  14. 重试模块服务端重构【新增】
  • 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

更新日志


  1. 修复retryStatus为NULL问题
  2. 优化cron表达式解析错误异常信息
  3. 修复https://gitee.com/aizuda/snail-job/issues/IBHA4U

v1.3.0-beta1.1

更新日志


  1. 静态分片参数 taskBatchId 没有设置【BUG】
  2. 修复job、工作流notify和场景的notifyIds为null序列化问题【BUG】
  3. 修复定时任务普通用户添加定时任务无权限问题【BUG】
  4. 修复重试场景重试数量超过阈值定时任务告警空指针异常【BUG】
  5. 修复上下文值为null 合并异常问题 【BUG】
  6. 新增GRPC重连事件【新增】
  7. 负责人支持清除【新增】
  8. 修复工作流构建错误问题【BUG】

v1.3.0-beta1

更新日志


  1. 新增Grpc通讯模块【新增】
  2. 修改服务端默认端口号为17888【优化】
  3. 设置客户端client为-1时,支持随机端口号【新增】
  4. 邮箱通知添加额外的自定义属性【新增】
  5. 增加删除功能OpenApi【新增】
  6. isRetry改为retryStatus 【优化】
  7. 将内置执行器移入builtin包【优化】
  8. 调整客户端注册逻辑;使用主节点模式对客户端进行续签【优化】
  9. 优化重试场景、定时任务、工作流告警通知配置【优化】
  10. 手动执行任务/工作流支持传入临时参数【新增】
  11. 定时任务新增负责人选项【新增】
  12. 定时任务增加执行器信息搜索条件【新增】
  13. 支持无客户端时告警功能【新增】
  14. 客户执行失败支持显示失败原因新增】

注意 本次新增了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)
  1. 定时、重试任务清除时间一小时改为四小时【优化】
  2. 修复日志清除BUG【BUG】
  3. 信创arm环境下Docker官方镜像无法运行的问题【BUG】
  4. 升级依赖包消除 CVE【优化】
  5. 修复工作流编排下的http内置执行器在请求头中透传上下文中value包含中文问题【BUG】
  6. 客户端日志上报组件 org.apache.log4j.MDC修改为org.slf4j.MDC 【优化】

v1.2.0-beta2

更新日志


  1. 新增OpenApi功能【新增】
  2. 修复Sharding和Map方法修饰符错误【BUG】
  3. 内置脚本执行器支持自定义编码;【优化】
  4. 内置http执行器支持工作流任务在请求头中透传工作流上下文内容【优化】
  5. 定时任务使用恢复阻塞策略时,只重新调用不成功的任务【优化】
  6. 修复MapReduce模式Reduce、MergeReduce阶段异常更新工作流上下文 【BUG】
  7. 去除工作流节点stop相关重复代码【优化】
  8. 修复日志清除BUG【BUG】
  9. 修复服务端生成channel并发问题【BUG】
  10. 修复客户端分片参数为ShardingJobArgs时不生效问题【BUG】
  11. 按 pgsql 数据库补齐 大金 Mapper.xml【BUG】
  12. 删除日志的全局开关【优化】
  13. 修复oracle任务状态变更偶发失败情况【优化】
  14. 升级MP版本3.5.8【优化】
  15. 修复客户端获取线程时的并发问题【BUG】
  16. 添加snail-job的window启动脚本.【新增】
  17. 添加snail-job启动Shell脚本【新增】
  18. 批次状态查询支持多选【新增】 :::

v1.2.0-beta1

更新日志


  1. 新增人大金仓数据库【新增】
  2. 优化mybatis xml的加载顺序, 支持多个id同时加载【优化】
  3. docker-compose.yaml 更新达梦镜像【优化】
  4. 增加工作流决策节点模拟上下文校验结果返回【新增】
  5. 优化json转换失败的日志【优化】
  6. 增加第一个及最后一个客户端路由功能【新增】
  7. 增加路由缓存定期清理功能【新增】
  8. 修复Map任务问题不能重试【BUG】
  9. PaginationInnerInterceptor不制定 dbType,由 mp 自动管理,解决 Oracle 11g分页兼容问题。【优化】
  10. 去除动态tablePrefix配置【优化】
  11. 修复Map/MapReduce重试问题,及手动暂停相关逻辑【BUG】
  12. 新增CMD、PowerShell、Shell、Http相关执行器【新增】
  13. 修复oracle任务状态变更偶发失败情况【BUG】
  14. 重构结果处理逻辑【优化】
  15. 去除定时任务结果更新的分布式锁【优化】
  16. map和map reduce支持配置参数全路径传递【新增】
  17. 优化客户端线程池,当获取缓存线程池时才设置并行度【优化】
  18. 添加任务执行时间【新增】

v1.1.1

更新日志


  1. 这里是列表文本添加Oracle i18n支持
  2. 添加 python 客户端项目链接
  3. 修复任务批次删除逻辑错误
  4. Oracle DDL 对象名称不能超过30个字符(12.2之前)
  5. 修复客户端注册问题
  6. 修复表格列设置字段名异常问题

v1.1.0

更新日志


  1. 【信创】支持达梦数据库【新增】
  2. 更新密码策略:字母、数字、特殊字符,任意2种组成,6-20位【优化】
  3. 工作流批次、重试批次、重试日志添加时间筛选(默认查询一个月)【新增】
  4. 修复通知配置分页显示问题【BUG】
  5. github工作流添加maven cache【优化】
  6. mp自动填充createDt,updateDt字段【优化】
  7. 提取所有insertBatch xml语句到template【优化】
  8. 优化空间切换组件样式【优化】
  9. 用户列表添加[序号]、[创建时间]字段【新增】
  10. 所有搜索框允许清除【优化】
  11. 修复工作流搜索参数定义错误【BUG】
  12. 工作流批次按照任务名称查询体验【优化】
  13. 定时任务批次按照任务名称查询体验【优化】
  14. 修复前端toString()空指针问题【优化】
  15. 命名空间非活跃条目显示图标【优化】
  16. 登录界面可以做一下键盘回车登录【优化】
  17. updateBatch系列脚本增加update_dt=CURRENT_TIMESTAMP【优化】
  18. 页面路径修改 notify/scene => notify/config 【优化】
  19. 优化客户端发送消息是组为空的校验【优化】
  20. 重构钉钉消息发送工具类(优化)
  21. 工作流支持全局上下文传递(新增)
  22. 支持动态分片(Map/MapReuce)(新增)
  23. 修复oracle超过1000批量删除失败问题(BUG)
  24. 定时任务阻塞策略新增恢复类型(新增)
  25. 工作流阻塞策略新增恢复类型(新增)
  26. sj_distributed_lock 分布式锁表去掉自增主键(优化)
  27. 优化决策节点手动校验逻辑并支持手动校验按钮(优化)
  28. 工作流决策节点判定逻辑使用上下文进行判断(优化)
  29. 工作流批次详情新增实时刷新功能(新增)
  30. 工作流和定时任务实时日志新增自动刷新功能(新增)
  31. 修复实时日志展示重复问题(BUG)
  32. 重试次数支持最低为0次(优化)
  33. 登录新增验证码功能(新增)
  34. 重试场景随机和固定间隔重试间隔新增最低10s限制(优化)
  35. 任务项列列表新增任务名称字段(优化)
  36. 升级mybatis-plus版本(3.5.6->3.5.7)(升级)
  37. 修复退出登录和修改密码未重定向到登录页问题(BUG)
  38. 工作流支持页面初始化上下文信息(新增)
  39. 空间、组、重试场景等删除功能
  40. 优化其他已知问题

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 '全局上下文' ;

参与者设计开发人员名单

  1. https://gitee.com/xlsea
  2. https://gitee.com/xiaowoniu168
  3. https://gitee.com/dhb52
  4. https://gitee.com/zhengweilins
  5. https://gitee.com/srzou
  6. https://gitee.com/jcwang812

v 1.1.0-beta2

更新日志


  1. 重构钉钉消息发送工具类(优化)
  2. 工作流支持全局上下文传递(新增)
  3. 支持动态分片(Map/MapReuce)(新增)
  4. 修复oracle超过1000批量删除失败问题(BUG)
  5. 定时任务阻塞策略新增恢复类型(新增)
  6. 工作流阻塞策略新增恢复类型(新增)
  7. sj_distributed_lock 分布式锁表去掉自增主键(优化)
  8. 优化决策节点手动校验逻辑并支持手动校验按钮(优化)
  9. 工作流决策节点判定逻辑使用上下文进行判断(优化)
  10. 工作流批次详情新增实时刷新功能(新增)
  11. 工作流和定时任务实时日志新增自动刷新功能(新增)
  12. 修复实时日志展示重复问题(BUG)
  13. 重试次数支持最低为0次(优化)
  14. 登录新增验证码功能(新增)
  15. 重试场景随机和固定间隔重试间隔新增最低10s限制(优化)
  16. 任务项列列表新增任务名称字段(优化)
  17. 升级mybatis-plus版本(3.5.6->3.5.7)(升级)
  18. 修复退出登录和修改密码未重定向到登录页问题(BUG)
  19. 工作流支持页面初始化上下文信息(新增)
  20. 优化其他已知问题

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 '全局上下文' ;

参与者设计开发人员名单

  1. https://gitee.com/xlsea
  2. https://gitee.com/xiaowoniu168
  3. https://gitee.com/dhb52
  4. https://gitee.com/zhengweilins
  5. https://gitee.com/srzou
  6. https://gitee.com/jcwang812

v 1.1.0-beta1

更新日志


  1. 【信创】支持达梦数据库【新增】
  2. 更新密码策略:字母、数字、特殊字符,任意2种组成,6-20位【优化】
  3. 工作流批次、重试批次、重试日志添加时间筛选(默认查询一个月)【新增】
  4. 修复通知配置分页显示问题【BUG】
  5. github工作流添加maven cache【优化】
  6. mp自动填充createDt,updateDt字段【优化】
  7. 提取所有insertBatch xml语句到template【优化】
  8. 优化空间切换组件样式【优化】
  9. 用户列表添加[序号]、[创建时间]字段【新增】
  10. 所有搜索框允许清除【优化】
  11. 修复工作流搜索参数定义错误【BUG】
  12. 工作流批次按照任务名称查询体验【优化】
  13. 定时任务批次按照任务名称查询体验【优化】
  14. 修复前端toString()空指针问题【优化】
  15. 命名空间非活跃条目显示图标【优化】
  16. 登录界面可以做一下键盘回车登录【优化】
  17. updateBatch系列脚本增加update_dt=CURRENT_TIMESTAMP【优化】
  18. 页面路径修改 notify/scene => notify/config 【优化】
  19. 优化客户端发送消息是组为空的校验【优化】
  20. 优化其他若干已知问题【优化】

参与者设计开发人员名单

  1. https://gitee.com/xlsea
  2. https://gitee.com/xiaowoniu168
  3. https://gitee.com/dhb52

v 1.0.1

更新日志

  1. 定时任务,任务类型为切片,提交失败【BUG】
  2. 旧密码无需使用密码规则校验,非空即可【BUG】
  3. 优化携带参数路由跳转体验【优化】
  4. 修复 cron 表达式组件问题【BUG】
  5. github工作流添加maven cache【优化】

参与者设计开发人员名单

  1. https://gitee.com/xlsea
  2. https://gitee.com/xiaowoniu168
  3. https://gitee.com/dhb52

v 1.0.0

更新日志


  1. 支持组、定时任务、工作流、重试任务、通知人导入和导出【新增】
  2. 工作流从antd迁移到soybeanjs【优化】
  3. 超级管理员不允许删除、修改权限【优化】
  4. 调整定时任务、工作流、重试场景的配置菜单排序【优化】
  5. 修复已知的前端搜索问题【BUG】
  6. 修复工作流多个决策节点场景下导致的任务节点没有触发问题【BUG】
  7. 首页任务Card添加点击动作【新增】
  8. 支持普通用户修改密码【新增】
  9. 优化客户端group配置和enabled加载顺序【优化】
  10. 修复常驻任务执行阻塞策略时无法准时开启下一次任务【BUG】
  11. 修复sqlserver数据库MP分页查询是没有带order by 导致的查询报错【BUG】
  12. 定时任务支持超时检查机制【新增】
  13. 工作流执行超时检查机制【新增】
  14. 组名称和重试场景名称支持短横线 (-) 格式【优化】
  15. 调整定时任务、重试场景、通知场景配置的表单布局【优化】
  16. 每次 "编辑" 定时任务,cron 表达式就会被重置成默认值【BUG】
  17. 修复工作流任务显示不正确【BUG】
  18. 修复 clearOfflineNode 出现死锁【BUG】
  19. 优化其他已知问题【优化】

参与者设计开发人员名单

  1. https://gitee.com/zhengweilins
  2. https://gitee.com/xlsea
  3. https://gitee.com/xiaowoniu168
  4. https://gitee.com/dhb52