Amazon Simple Workflow Service
开发人员指南 (API 版本 2012-01-25)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

Amazon SWF 任务

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

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

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

  • 决策任务决策任务告诉决策程序工作流程执行状态已更改,从而使决策程序能够确定下一个需要执行的活动。决策任务包含当前工作流程历史。

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

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

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

逻辑设计

注册为

执行人

接收和执行

生成

工作流程

工作流程类型

决策程序

决策任务

决策

当活动工作程序完成活动任务时,它会向 Amazon SWF 报告该任务已完成,并且包含所生成的所有相关结果。Amazon SWF 通过一个指示任务已完成的事件来更新工作流程执行历史,然后排定一个决策任务以将更新后的历史记录传送给决策程序。

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

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

逻辑设计

注册为

执行人

接收和执行

生成

活动

活动类型

活动工作程序

个活动任务

结果数据