利用 Amazon SWF 启动工作流执行 - Amazon Simple Workflow Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

利用 Amazon SWF 启动工作流执行

您可以利用 StartWorkflowExecution 操作从任何应用程序中启动已注册工作流程类型的工作流程执行。启动执行时,您将被称为 workflowId 标识符与执行相关联。workflowId 可以是适用于您的应用程序的任何字符串,如订单中处理应用程序的订单号码。同一个 workflowId 不能用于同一个域中多个已开启工作流程执行。例如,如果您用workflowId Customer Order 01 启动两个工作流程执行,则第二个工作流程执行不会启动且请求会失败。不过,您可以重复使用已关闭执行的 workflowId。Amazon SWF 还会将系统生成的唯一标识符(称为 runId)与每个工作流执行关联起来。

注册完工作流程和活动类型之后,通过调用 StartWorkflowExecution 操作启动工作流程。input 参数的值可以是启动工作流程所用应用程序指定的任何字符串。executionStartToCloseTimeout 是工作流程执行从启动到关闭所消耗的时长,以秒为单位。超出这个范围会导致工作流程执行超时。与 Amazon SWF 中的其他一些超时参数不同,该超时值不能指定为 NONE;工作流执行可运行的最大时长限制是一年。同样,taskStartToCloseTimeout 指的是与此工作流程执行相关的决策任务在超时之前可花费的时间,以秒为单位。

https://swf.us-east-1.amazonaws.com StartWorkflowExecution { "domain" : "867530901", "workflowId" : "20110927-T-1", "workflowType" : { "name" : "customerOrderWorkflow", "version" : "1.1" }, "taskList" : { "name" : "specialTaskList" }, "input" : "arbitrary-string-that-is-meaningful-to-the-workflow", "executionStartToCloseTimeout" : "1800", "tagList" : [ "music purchase", "digital", "ricoh-the-dog" ], "taskStartToCloseTimeout" : "1800", "childPolicy" : "TERMINATE" }

如果 StartWorkflowExecution 操作成功,Amazon SWF 将返回工作流执行的 runId。工作流程执行的 runId 在特定区域内是唯一的。请保存 runId 以备日后需要在 Amazon SWF 调用中指定此工作流执行时使用。例如,如果您以后需要发送信号至工作流程执行中,您将使用 runId

{"runId": "9ba33198-4b18-4792-9c15-7181fb3a8852"}