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

Cadence有工作流进化的概念吗?

汪博艺
2023-03-14

“cadence有‘工作流进化’的概念吗?

换句话说,我有一个为客户建模的“有状态参与者”。最初,客户有两个字段,其中包含一些修改它们的信号方法、一些获取状态的查询方法以及该参与者的一些主要工作流。假设我有10个这样的实例,它们是长期存在的。

稍后我想添加第三个字段,也许是另一个信号方法。我能用什么?

共有2个答案

戴原
2023-03-14

是的,“节奏”和“时态”支持已在运行的工作流的演变。有关更多详细信息,请参阅版本控制文档。

岑光熙
2023-03-14

使用Cadence进行版本控制会有所帮助。这是留档。

例如,在文档中,有一行如下所示

err := workflow.ExecuteActivity(ctx, ActivityA, data).Get(ctx, &result1)

成为

var err error
v := workflow.GetVersion(ctx, "Step1", workflow.DefaultVersion, 1)
if v == workflow.DefaultVersion {
    err = workflow.ExecuteActivity(ctx, ActivityA, data).Get(ctx, &result1)
} else {
    err = workflow.ExecuteActivity(ctx, ActivityC, data).Get(ctx, &result1)
}

如果您有超过2个版本,它将如下所示:

v := workflow.GetVersion(ctx, "Step1", workflow.DefaultVersion, 2)
if v == workflow.DefaultVersion {
    err = workflow.ExecuteActivity(ctx, ActivityA, data).Get(ctx, &result1)
} else if v == 1 {
    err = workflow.ExecuteActivity(ctx, ActivityC, data).Get(ctx, &result1)
} else {
    err = workflow.ExecuteActivity(ctx, ActivityD, data).Get(ctx, &result1)
}

等等。有关更多详细信息,请参阅文档。

 类似资料:
  • 为用户可视化节奏工作流的最佳方式是什么? 我想在一个高层次的视图中向用户展示工作流的不同步骤(类似于大多数食品配送应用程序的功能:下单- 我对向用户展示实际执行的节奏活动不感兴趣,因为我不希望他们看到我的工作流程的详细信息,我只想可视化他们感兴趣的某种高级阶段。 一种方法是保留工作流的高级描述,并在工作流代码本身内部进行状态转换(在启动活动 X 时将阶段 Y 标记为已启动等)。但是,我试图将这个问

  • 将是什么 线程不足,无法执行工作流。如果此消息始终显示,请选择WorkerOptions。应减小maxConcurrentWorklfowExecutionSize或WorkerOptions。maxWorkflowThreads增加。 处于阻塞状态的工作流在内存中保持活动状态??处于等待状态的工作流是否持续检查条件??更多的 -

  • 假设我有用不同语言编写的工人(Java

  • 主要内容:什么是输入/输出流,输入流,输出流在 Java 中所有数据都是使用流读写的。 流是一组有序的数据序列,将数据从一个地方带到另一个地方。 根据数据流向的不同,可以分为输入(Input)流和输出(Output)流两种。 在学习输入和输出流之前,我们要明白为什么应用程序需要输入和输出流。例如,我们平时用的 Office 软件,对于 Word、Excel 和 PPT 文件,我们需要打开文件并读取这些文本,和编辑输入一些文本,这都需要利用输

  • 我正在运行节奏,卡桑德拉使用 docker run -e CASSANDRA_SEEDS=10.x.x.x e 超级数据库/服务器运行:。并成功运行。 Azure cosmos表示,任何运行在Cassandra上的系统都可以使用Azure cosmos,使用提供的cosmos cassandra APi,通过修改客户端连接创建代码,例如:GO app示例代码: Func Get会话(cosmosC

  • 节奏工作流版本控制: 工作流执行具有以下代码: 工作流1: o/p的开始--版本1:1 工作流实施中的更改: 工作流2: o/p的开始--版本1:2 工作流实施中的更改: 工作流3: o/p的开始--版本1:3 工作流2的重放:o/p版本1: -1 工作流重播 1 : o/p --version1: -1 我期待低于o / p 重播工作流程2: o/p--版本1:2 工作流重播 1 : o/p -