Amazon SWF 中的任務 - Amazon Simple Workflow Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon SWF 中的任務

Amazon SWF 透過提供稱為任務的工作指派,與活動工作者和決策者互動。Amazon SWF 中有三種類型的任務:

  • 活動任務活動任務會告知活動工作者執行其功能,例如檢查庫存或向信用卡收費。活動任務包含活動工作者執行其功能所需的所有資訊。

  • Lambda 任務Lambda 任務類似於活動任務,但會執行 Lambda 函數,而非傳統的 Amazon SWF 活動。如需如何定義 Lambda 任務的詳細資訊,請參閱「AWS Lambda Amazon SWF 中的 任務」。

  • 決策任務決策任務會告知決策者工作流程執行的狀態已變更,以便決策者可以判斷需要執行的下一個活動。決策任務包含目前工作流程歷史記錄。

Amazon SWF 會在工作流程開始時以及工作流程狀態變更時排程決策任務,例如活動任務完成時。每個決策任務皆包含以分頁檢視的整個工作流程執行歷史記錄。決策者會分析工作流程執行歷史記錄,並使用一組指定工作流程執行中後續應發生事項的決策來回應 Amazon SWF。基本上,每個決策任務都讓決策者有機會評估工作流程,並向 Amazon SWF 提供方向。

為了確保不會處理任何衝突決策,Amazon SWF 會將每個決策任務只指派給一個決策者,並一次僅允許一個決策任務在工作流程執行中處於作用中狀態。

下表示範與工作流程和決策者相關之不同建構間的關係。

邏輯設計

註冊為

執行者

收到並執行

產生

工作流程

工作流程類型

決策者

決策任務

決策

當活動工作者完成活動任務時,它會向 Amazon SWF 報告任務已完成,並包含產生的任何相關結果。Amazon SWF 會使用指出任務已完成的事件來更新工作流程執行歷史記錄,然後排程決策任務,將更新的歷史記錄傳輸給決策者。

Amazon SWF 會將每個活動任務只指派給一個活動工作者。任務指派之後,就沒有其他活動工作者可以宣告或執行該任務。

下表示範與活動相關之不同建構間的關係。

邏輯設計

註冊為

執行者

收到並執行

產生

活動

活動類型

活動工作者

個活動任務

結果資料