重试机制增强
- 支持
retryIfResult
:根据方法返回结果判断是否重试 - 支持自定义返回值与异常处理(当配置为
isThrowException=false
时支持MethodResult
) - 支持多个参数序列化器同时使用
- 新增Fury序列化工具(Fury Serializer)
- 增加任务标签字段
- 新增负责人配置
定时任务增强
- 支持任务指定时间点触发(时间点调度)
- 增加定时任务标签字段
- JAVA SDK 支持标签和时间点执行
- 新增执行器同步服务端功能,新增时任务可直接选择执行器
- 优化
doMap
注释与异常处理逻辑
工作流能力增强
- 支持任务指定时间点触发(时间点调度)
- 增加负责人配置
客户端能力增强
- 客户端注册支持展示系统版本和客户端类型(JAVA、GO、PYTHON)
- 客户端新增标签配置
- 客户端支持动态上下线能力
- 支持在线编辑、删除、更新标签能力
- 优化使用无锁化优化滑动窗口性能及稳定性
其他
- 优化实例管理(节点注册、探活、故障转移、下线、节点过滤等)
问题修复
- 修复重试幂等 ID 重复问题(
SimpleIdempotentIdGenerate
)
标签配置: https://snailjob.opensnail.com/docs/guide/client/java/client.html
MYSQL变更(其他DB变更请自行同步)
全量的SQL请参考项目 /doc/sql/x.sql
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';