如果决策程序没有运行会发生什么

时间:2012-04-03 19:39:08

标签: amazon-web-services amazon-swf

初始化工作流时,将调用@ Execute任务,以便决策者可以决定任务流。

  • 当决策程序进程未运行时会发生什么情况,SWF可以启动决策程序并执行流程。
  • 如果有多个决策进程会发生什么情况,SWF如何知道处理请求的进程。

3 个答案:

答案 0 :(得分:2)

Amazon SWF无需决定哪个决策程序将处理该请求,因为您的工作是确保您的决策程序正在运行并轮询新任务:

http://docs.amazonwebservices.com/amazonswf/latest/developerguide/swf-dg-basic.html#swf-dev-comm-proto

答案 1 :(得分:0)

What happens when a decider process is not running, can the SWF start the decider process and execute the flow.

不,如果决策程序没有运行,工作流将根本无法启动。

What happens if there are multiple decider processes, how does SWF know which one to handle the request to.

启动工作流程时,您将创建要启动的决策程序/工作流程的实例。该实例实际上决定了要调用的工作流程。

答案 2 :(得分:0)

实际上,我发现当决策进程没有运行时,有时工作流会进入“DecisionTaskStarted”状态,即使没有决策者接受了决策任务。这使得工作流程似乎未运行。据推测,决策任务将超时,工作流程将安排一个新的决策任务,由决策者(如果它现在正在运行)获取。

如果你有多个决策者在运行,那么首先抓住决策任务的人将会处理它。如果要为不同的决策者提供不同的决策任务,请为工作流程提供不同的“task_list”。具有“task_list”的决策者只能使用相同的task_list在自己的工作流程上运行。