【问题标题】:How to create workflows dynamically in cadence如何按节奏动态创建工作流
【发布时间】:2021-05-19 04:10:20
【问题描述】:

每个工作流都应该在单独的工作流类中实现吗?

是否建议实现一个通用工作流类,我们将使用传递给工作流的参数调用活动和触发计时器?

在我们的用例中,我们将从 UI 创建工作流,并将由最终用户创建。所以我们不能一开始就定义我们的工作流程。

是推荐的方法吗?

【问题讨论】:

    标签: cadence-workflow cadence uber-cadence


    【解决方案1】:

    不推荐。

    即使您必须使用匿名类动态创建和注册工作流类仍然是可能的。但是维护和调试会非常困难。例如,注册工作流需要唯一的工作流类型名称,并且还需要在工作人员重新启动后重新注册完全相同的工作流。等等。

    您描述的是 Cadence 中非常常见的用例。这也是 Cadence 优于其他 DSL 工作流引擎的强大之处。您需要做的是以接受动态输入参数并决定输入行为的方式实现工作流。它本质上与您想要对动态工作流类执行的操作完全相同。

    【讨论】:

    • 我们有这方面的 java 例子吗?
    • 大量样本正在获取输入参数。您只需要以基于输入的行为方式编写工作流逻辑。 Golang 中的一个示例是 DSL 工作流:github.com/uber-common/cadence-samples/tree/master/cmd/samples/…
    • 如果您可以添加一个 java 示例,这将是一个很大的帮助,因为我不懂 go 语言。我可以期待它使用 Java 语言吗@Long
    猜你喜欢
    • 1970-01-01
    • 2020-07-24
    • 2022-09-29
    • 2020-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多