2012-04-03 78 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的自己的工作流上操作。

相關問題