任务类型

任务调度支持以下任务类型。

简单任务

简单任务 是最基本的任务类型,适用于业务逻辑简单的场景。单个简单任务对应一个 handler,支持任务分片及分步:

  • 当需要并发执行并且不关注资源利用率时,可以使用简单任务的分片功能。

  • 当需要将一个任务分成若干步骤按顺序执行时,可以使用简单任务的分步功能。

集群任务

集群任务 适用于复杂的调度场景,支持用户按业务的要求,通过自定义的拆分逻辑将一个大的任务拆分到多个客户端上并发执行。

集群任务可以分成两个阶段:拆分阶段和执行阶段。

  • 拆分阶段:对数据进行分片,不限制拆分层数,将拆分结果上报给服务端,由服务端根据拆分的 Chunk 通知客户端来拉取数据进行处理。(Chunk:一批待处理数据分片集合)

  • 执行阶段:客户端接收到通知后拉取数据进行处理,处理完后继续拉取新的数据,直到数据都处理完成。

拓扑任务

任务拓扑 是一种特殊的任务,是由许多通过事件触发的任务的集合。任务拓扑本身可以通过 CRON 表达式或者事件触发,但是其包含的子任务必须是通过事件触发的,并且通信方式必须是 CALLBACK。任务拓扑中的任务执行流程均从开始节点开始,到结束节点终止,任务的执行流程形成一张有向无环图。