Amazon SWF 任务 - Amazon Simple Workflow Service

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon SWF 任务

Amazon SWF 通过为活动工作线程和决策程序提供工作(称为“任务”)来与它们交互。Amazon SWF 中有三种类型的任务:

  • 活动任务活动任务指示活动工作线程执行其功能,如检查库存或信用卡计费。活动任务中包含活动工作程序执行其功能需要的所有信息。

  • Lambda 任务Lambda 任务与活动任务类似,但它执行 Lambda 函数而不是传统的 Amazon SWF 活动。有关如何定义 Lambda 任务的更多信息,请参阅 AWS Lambda 任务

  • 决策任务决策任务向决策程序告知工作流执行状态已更改,以便决策程序确定下一个需要执行的活动。决策任务包含当前工作流程历史。

Amazon SWF 会在工作流启动时以及工作流状态发生变化时(如活动任务完成时)调度决策任务。每个决策任务中都包含整个工作流程执行历史标有页码的视图。决策程序会分析工作流执行历史,并向 Amazon SWF 回应一组决策,这些决策指定了工作流执行中接下来应完成的操作。实质上,每个决策任务都为决策程序提供了评估工作流以及向 Amazon SWF 提供指示的机会。

为确保处理的决策没有冲突,Amazon SWF 会将每个决策任务分配给一个决策程序,且一次只允许一个决策任务在工作流执行中处于活动状态。

下表显示的是与工作流程相关的不同构建与决策程序之间的关系。

逻辑设计

注册为

执行人

接收和执行

生成

工作流程

工作流类型

决策程序

决策任务

决策

活动工作线程完成活动任务后,会向 Amazon SWF 报告该任务已经完成,并包括生成的任何相关结果。Amazon SWF 会使用一个表示任务已完成的事件来更新工作流执行历史记录,然后调度一个决策任务,以将更新的历史记录传输给决策程序。

Amazon SWF 会将每个活动任务分配给一个活动工作线程。一旦任务分配后,其他活动工作程序就不能认领或执行该任务。

下图所示为与活动相关的不同构建之间的关系。

逻辑设计

注册为

执行人

接收和执行

生成

活动

活动类型

活动工作程序

个活动任务

结果数据