簡體   English   中英

我應該使用子工作流還是使用活動來啟動新工作流

[英]Should I use child workflow or use activity to start new workflow

就像標題一樣。 似乎這兩種方式都應該有效,但子工作流程似乎更容易。

強烈建議始終使用 Activity 來啟動新工作流,並且在重置功能與子工作流一起使用之前永遠不要使用 ChildWorkflow https://github.com/uber/cadence/issues/3914

https://github.com/temporalio/temporal/issues/3141

要將結果從子工作流返回給父級,請使用信號。 要鏈接這兩個工作流,請在啟動新工作流時使用搜索屬性。

正如全正所說,如果您需要使用 Reset,那么 Child Workflows 目前不是一個選項。

除了這個問題之外,子工作流的語義與通過活動啟動新工作流有很大不同。

主要區別在於:

  1. 默認情況下,終止和取消會傳播到子工作流,盡管這可以在子工作流創建時被覆蓋。 這種行為可以通過同等的工作流來實現,但需要仔細的工作流實現,它永遠不會在不終止其子級的情況下終止。
  2. Temporal API 直接支持等待子工作流完成,而等待任意工作流則不受支持。 看到這個問題

您是否需要這些功能中的任何一個,以及您是否使用重置,應該告訴您子工作流是否適合您的用例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM