網頁:https://elsa-workflows.github.io/elsa-core/docs/concepts-workflows
工作流(Workflow)
工作流由一系列步驟組成,這些步驟稱為活動(Activity)。工作流維護各種信息,例如:
- 當前正在執行哪個活動
- 設置了哪些變量
- 哪些活動阻塞了執行
一個活動完成執行后,工作流將檢查其結果以及是否有其他活動與其連接。 如果是這樣,則計划執行該活動。
一直進行下去,直到不再有要執行的活動,或者遇到指示停止工作流的活動。
活動(Activity)
活動是一個基本的構建塊,代表工作流程中的單個可執行步驟。 活動需要實現OnExecute方法。
阻塞活動(Blocking Activity)
活動的執行有多種可能的結果,比較常用的是繼續(Outcome)和暫停(Halt)。
如果返回暫停(Halt),工作流將進入“暫停”狀態,並且該活動將被注冊為阻塞活動。
暫停工作流(Halted Workflow)
暫停工作流被一項或多項阻塞活動所阻止,恢復的唯一方法是使用阻塞活動重新觸發它。
連接(Connection)
表示兩個活動之間的關聯關系。工作流借此知道下一步要執行什么活動。連接包含3方面信息:
- 源(source)活動ID。
- 源結果(source outcome)名稱。
- 目的(destination)活動ID。
根據活動的每個可能結果,都可以關聯另一個活動。
例如,假設有一個工作流,其中包含三個活動,分別稱為活動A,活動B和活動C。活動A有兩個結果,分別稱為完成和失敗,並且我們希望將完成結果連接到活動B和失敗到活動C。
這意味着我們需要以下兩個連接:
連接1:
- Source:
Activity A
- Outcome:
Done
- Destination:
Activity B
連接2:
- Source:
Activity A
- Outcome:
Failed
- Destination:
Activity C
如下示意圖:
- 活動A的完成結果。
- 活動A的失敗結果。
- 活動A和活動B之間的連接。
- 活動A和活動C之間的連接。