Amazon SWF 任务 - Amazon Simple Workflow Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

Amazon SWF 任务

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

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

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

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

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

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

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

逻辑设计

注册为

执行人

接收和执行

生成

工作流程

工作流类型

决策程序

决策任务

决策

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

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

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

逻辑设计

注册为

执行人

接收和执行

生成

活动

活动类型

活动工作程序

个活动任务

结果数据