我對AWS中的SWF相當陌生。 我正在創建一個工作流程,並且很難弄清楚如何識別剛剛完成的活動的名稱。決策者需要知道這一點,以便確定下一個要安排的活動。在AWS SWF中查找已完成活動的ActivityId?
ActivityTaskCompletedEventAttributes(http://docs.aws.amazon.com/amazonswf/latest/apireference/API_ActivityTaskCompletedEventAttributes.html)不包含有關剛剛完成的活動的id或名稱的信息。
另一方面,ActivityTaskScheduleEventAttributes(http://docs.aws.amazon.com/amazonswf/latest/apireference/API_ActivityTaskScheduledEventAttributes.html)確實包含此信息。
當確定ActivityId和剛剛報告完成的活動的名稱時,回溯事件歷史記錄並獲取最後一次安排的活動的ID和名稱是很典型的(並且假設這是報告完成)?這對我來說並不合適。
在文檔(http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dg-dev-deciders.html#swf-dg-coordination-logic)中,他們討論瞭如何定義協調邏輯,這似乎意識到以前完成的活動名稱的名稱。
這實際上是如何在實踐中完成的?
- 喬
感謝。我在一個小時前遇到了同樣的問題,所以很高興看到您找到了解決方案。這是一個奇怪的設計決定,不是嗎?我掌握了這個邏輯(也就是說,如果你的決策者將大型任務分成批次),但在大多數情況下,你肯定會想從一個任務轉換到另一個任務。 –
同意。如果數據可以在其他地方找到(例如:如果在預定事件中可用,則不包括演員姓名),但是它絕對不是非常方便。 – Joe