文档

2019年

本文介绍了SchedulerX产品在2019年发布涉及的新增功能、功能优化、重要问题修复及对应的文档。

客户端发布记录

1.1.0,2019-12-17

变更类型

功能描述

相关文档

优化

修复问题:调整默认依赖的log4j2至2.15.0版本。

变更类型

功能描述

相关文档

新增

优化

  • Server端性能优化,和客户端通信同步改成异步,并优化了akka默认dispatcher的配置。

  • 使用1.1.0版本客户端,心跳性能优化提高3倍。

  • 前端任务管理列表重新设计,可以看到更多信息。

  • 修复分布式拉模型,全局子任务可能不起作用。

  • 修复隔离单元环境,如果没有配置Domain,可能还是会启动失败。

1.0.9,2019-11-28

变更类型

功能描述

相关文档

新增

  • 增加BlockAppStart配置。表示Schedulerx启动失败是否block应用程序启动,默认true

  • 新增查询工作流运行状态接口。接口为GetWorkflowInstanceRequest

  • JobContext上下文新增jobName字段。这样用户可以运行期间获取到任务名称。

优化

  • 通过Hessian反序列化BigDecimal为0。

  • 通过Hessian反序列化LocalDateTime报错。

  • 修复指定机器功能问题。任务运行超过一定时间子任务会下发到未指定机器上。

  • 客户端springContext.getBeanAnnotationConfigApplicationContext has not been refreshed yet异常。

  • 修复任务实现类配置错误的情况下会触发Spring Boot的ServeletWebServer停止的逻辑,导致业务进程在,但是Web服务被shutdown问题。

  • 修复系统启动变量user.dir='/',任务会卡住的问题。

  • 客户端springContext.getBeanAnnotationConfigApplicationContext has been closed already异常。

  • 客户端生成的workerId存在小概率重复冲突的问题,造成任务触发到非本应用的机器上。

  • Spring应用不能自定义class loader

  • 秒级别任务广播执行计数器显示不对。

  • 秒级别任务,jobContext.getScheduleTime没有跟着循环更新。

1.0.8,2019-08-06

变更类型

功能描述

相关文档

新增

  • 【重要】重构JobProcessor.postProcess接口,增加ProcessResult返回值,之前用到postProcess接口需要改代码。

  • 广播执行增强,BroadcastJobProcessor支持preProcesspostProcesspreProcess会在所有机器执行process之前执行一次,postProcess会在所有机器执行process后执行一次。

  • JobContext.getTaskAttempt可以获取当前子任务重试次数。

  • 客户端支持自定义监听端口,例如SchedulerxWorker.setPort

  • Java任务可以实现JobProcessor,不必须继承JavaProcessor

优化

  • 修复TaskId=1的子任务不支持子任务自动重试的bug。

  • 分布式任务,根任务失败,无法看到失败原因。

  • 并行任务子任务列表不能重试子任务。

1.0.6-compatible,2019-07-02

变更类型

功能描述

相关文档

优化

兼容schedulerx1.0(DTS)接口的兼容版本。不支持同时依赖schedulerx-clientschedulerx-worker两个包,只能依赖schedulerx-worker一个包,即需要把DTS所有任务迁移到SchedulerX 2.0。

1.0.6,2019-07-02

说明

该版本控制台显示版本号为1.0.4与Maven版本号不一致,请知晓。

变更类型

功能描述

相关文档

新增

  • 新增部分包的shade: aliyun-log, commons-validator, gson, fastjson, guava, commons-collections

  • 通过ProcessResult(false, errorMsg)返回,前端日志也能看到errorMsg

优化

  • 优化at-least-once-delivery性能。

  • 高负载场景下,消息重复发送会造成秒级任务卡主或应用线程被Interrupt。

优化

  • 广播任务卡主问题。

  • 秒级任务卡主问题。

  • at-least-once-delivery可能会导致子任务状态无限重试。

  • logcollector初始化失败,异常抛出来,启动失败。

  • DB清理工作流任务实例,导致工作流无法恢复调度问题。

  • Spring方式启动,不支持kill。

1.0.3,2019-06-06

变更类型

功能描述

相关文档

新增

  • MapReduce模型支持返回所有子任务的结果,由Reduce处理。

  • 分布式模型支持拉模型,解决因为单机性能引起的木桶效应,支持动态扩容拉子任务。

  • 拉模型支持全局子任务并发度,可以进行限流。

  • JobContext增加wfInstanceId

  • 客户端启动失败抛异常,堵塞JVM启动,尽早发现问题。

  • 客户端启动打印mvn依赖JAR的版本和路径,帮助排查JAR包冲突。

  • 分布式模型子任务详情,增加队列维度,可以看到每台机器缓存的子任务队列。

优化

  • Worker因为server负载高被误guarantined,可以自动恢复,不同重启客户端。

  • 分布式模型子任务详情,运行中可以真实显示每台机器正在运行的子任务数。

  • Master节点挂了,server会负责清理slave节点的资源,防止内存泄漏。

1.0.0,2019-04-30

变更类型

功能描述

相关文档

新增

  • 支持crontabfixed_rate表达式进行周期性定时调度。

  • 支持工作流调度,进行流程编排。

  • 支持second_delay表达式进行秒级别调度。

  • 支持Java、Shell、Python、Go任务类型。

  • 支持单机执行、广播执行、并行计算、内存网格、网格计算。

  • 支持Map和MapReduce分布式编程模型。

  • 支持任务实例级别和子任务级别的失败自动重试(默认不重试)。

  • 支持数据时间和重刷数据。

  • 本页导读 (1)
文档反馈