Skip to content

Latest commit

 

History

History
40 lines (25 loc) · 2.49 KB

Conductor官方文档-003-基本概念.md

File metadata and controls

40 lines (25 loc) · 2.49 KB

Conductor官方文档-003-基本概念

工作流定义

工作流是基于JSON定义的DSL,并且包含作为工作流的一部分执行的一组任务。这些任务要么是控制任务(fork,conditional etc等),要么是应用程序任务(例如编码文件)。更多细节

任务定义

  • 所有任务都需要在活动工作流程使用之前进行注册。

  • 任务可以在多个工作流程中重复使用。任务分为两类:

    • 系统任务
    • Worker任务

系统任务

系统任务在Conductor服务器的JVM内执行,并由Conductor管理,以实现其可执行性和可扩展性。

名称 目的
DYNAMIC 基于任务的输入表达式派生的工作任务,而不是静态蓝图的一部分
DECIDE 决策任务 - 实现案例......开关样式分叉
FORK 分叉一组并行的任务。计划每个集合并行执行
FORK_JOIN_DYNAMIC 与FORK类似,但FORK_JOIN_DYNAMIC不是在并行执行蓝图中定义的任务集,而是根据此任务的输入表达式生成并行任务
JOIN 补充FORK和FORK_JOIN_DYNAMIC。用于合并一个或多个并行分支*
SUB_WORKFLOW 将另一个工作流嵌套为子工作流任务。在执行时,它实例化子工作流并等待它完成
EVENT 在支持的事件系统中生成事件(例如,Conductor,SQS)

Conductor提供了一个API来创建用户定义的任务,这些任务在与引擎相同的JVM中执行。详细信息请参见WorkflowSystemTask接口。

Worker任务

Worker任务由应用程序实现,并在与Conductor不同的环境中运行。Worker任务可以用任何语言实现。这些任务通过REST API端点与Conductor服务器通信,以轮询任务并在执行后更新其状态。

Worker任务由蓝图中的任务类型SIMPLE标识。

工作流任务的生命周期