2012-04-03 76 views
1

当初始化工作流时,会调用@Execute任务,以便决策者可以决定任务的流向。如果决策器未运行,会发生什么情况

  • 当决策程序没有运行时会发生什么,SWF能否启动决策程序并执行流程。
  • 如果有多个决策过程会发生什么,SWF如何知道处理请求的是哪一个。

回答

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. 

在启动工作流时,您将创建要启动的判定器/工作流的实例。这个实例实际上决定了要调用哪个工作流程。

0

实际上,我发现当决策程序没有运行时,即使没有决策者接受决策任务,工作流程有时也会进入“DecisionTaskStarted”状态。这表明工作流程未运行。假定决策任务将超时,工作流程将安排一个新的决策任务,决策任务将由您的决策者(如果它正在运行)获取。

如果您有多个决策者正在运行,无论哪个人首先抓取决策任务都会处理它。如果您想为不同的决策者提供不同的决策任务,请为工作流提供不同的“task_list”。具有“task_list”的决策者只能在具有相同task_list的自己的工作流上操作。

相关问题