本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 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
以便日后需要在调用中指定此工作流程执行时使用。例如,如果您以后需要发送信号至工作流程执行中,您将使用 runId
。
{"runId": "9ba33198-4b18-4792-9c15-7181fb3a8852"}