是否有“工作流演进”的概念?
换句话说,我有一个“有状态的演员”来模拟一个客户。最初,客户有两个字段,其中包含一些修改它们的信号方法,一些获取状态的查询方法,以及该参与者上的一些主要工作流。假设我有10个这样的例子,它们的寿命很长。
稍后,我想添加第三个字段,也许是另一个信号方法。我能用什么?
发布于 2022-05-06 17:33:47
使用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)
}如果您有两个以上的版本,则如下所示:
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)
}诸若此类。有关更多细节,您可以参考文档。
https://stackoverflow.com/questions/72127608
复制相似问题