当前位置: 首页 > 知识库问答 >
问题:

如何以节奏动态创建工作流

澹台成龙
2023-03-14

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

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

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

这是推荐的方法吗?

共有1个答案

淳于鹏
2023-03-14

不推荐。

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

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

 类似资料:
  • 历史回放如何在抑扬顿挫中发挥作用? 我有一个按顺序调用两个活动的工作流。 比方说,第一个活动完成了,第二个活动有100行代码。如果应用服务器在执行activity2中的第50行代码时重新启动,它会从第50行开始执行吗?如果是,cadence内部正在发生什么神奇的事情? 我的hello活动中有上面的代码。此代码将运行4分钟,当条件满足时,它将在文件中写入数据 我启动了一个工作流,并在打印后退出了节奏

  • temporal.io如何与cadenceworkflow.io?如果根据节奏工作流服务启动一个新项目,应该使用什么?

  • 这可以被认为是在节奏工作流的循环中调用相同活动的后续问题:在活动迭代的情况下,工作流如何恢复?是继续调用第i个活动(跳过已经调用的活动)还是从0重新开始?如果是这样,如何编写工作流以跳过调用的活动(0-'k')?

  • 可以运行不需要连接到cadence服务器的本地活动。是否有适当的方式在本地运行工作流,以防发生cadence中断?我正在使用Go客户端。

  • 我想在普罗米修斯监控当前运行的节奏工作流的数量。 我检查了由不同的cadence服务(如< code>cadence_history 、< code>cadence_worker 、< code>cadence_frontend等)导出的指标,我能找到的唯一与工作流相关的指标是: ( 函数收集正在运行的工作流数量。然而,cadence文档说“大量使用这个API可能会导致巨大的持久性压力”,所以我认

  • 嗨,我有一个包含2个活动的工作流。场景。一个活动在执行第二个活动时完成,我需要与之通信的URL链接已关闭。现在,当该URL启动时,工作流超时。那么我该如何重启超时的工作流呢? 这个问题的灵感来自一个Github问题。