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 只會將每個活動任務指派給一個活動工作者。任務指派之後,就沒有其他活動工作者可以宣告或執行該任務。

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

邏輯設計

註冊為

執行者

收到並執行

產生

活動

活動類型

活動工作者

個活動任務

結果資料