2009-11-12 43 views
2

我遇到工作流持久性問題。即在我的工作流程中,我使用了偵聽活動,其中一個分支具有處理外部活動和其他分支具有延遲活動(具有3天超時)。如何在服務器系統崩潰時保持工作流程

所以,問題是在3天的時間內處理External Activity沒有被解僱。所以延遲活動在到達時觸發(意味着延遲活動應該被觸發)。

在處理外部活動或延遲活動之前活動仍會觸發它(工作流程)爲空閒狀態。在3天的時間系統(意味着我的工作流程正在執行的服務器)已經崩潰(在處理外部活動或延遲活動觸發之前)。

有可能「如果系統再次啓動(修復系統後),工作流程從最後一點開始」。

請爲我提供解決方案。

回答

1

如果您將SqlWorkflowPersistenceService添加到工作流運行時並將unloadOnIdle設置爲true,則會在您的工作流一旦變爲空閒狀態時立即將其保留到磁盤。當服務器崩潰並重新啓動時,它可以在最後保存時啓動工作流程。

+0

+1如果系統中有任何工作流程可以在相對較短的時間段(分鐘)內閒置,則持久性是有保證的。 – AnthonyWJones 2009-11-13 19:22:26