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

如何设置Cadence测试工作流id?

法浩壤
2023-03-14

我正在关注https://cadenceworkflow.io/docs/go-client/workflow-testing/#setup,并看到带有活动错误的错误。{"Workflow ID":"default-test-workflow-id"

如何设置Workflow ID(例如,使其包含测试名称)?我正在使用Go。

共有1个答案

况承福
2023-03-14

不支持直接设置工作流ID。我们最近意识到了这一点,并正在积极努力。

同时,如果您必须使用workflow ID进行测试,则使用解决方法

ReplayWorkflowExecution(ctx context.Context, service workflowserviceclient.Interface, logger *zap.Logger, domain string, execution workflow.Execution) error

但您必须模拟服务接口来获取历史。

请参阅 https://github.com/uber-go/cadence-client/blob/b31c3bbfb06a1f96c6ad911a48237cfbc4f9a565/worker/worker.go#L166

我将在实现此功能时更新此线程。

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

  • 在Cadence/Temoral工作流编程中: < li >不允许使用本机线程库。例如,在Java中,线程必须通过< code>Async.procedure或< code>Async.function创建,而在Golang中,线程必须通过< code>workflow创建。去吧。那为什么呢? < li >有没有类似使用本机线程的竞争条件?例如,为了线程安全,应该使用< code>Hashtabl

  • 除了之外,还有其他方法可以发出工作流拒绝信号吗? 基本上,我有一个工作流,它在超时前会定期继续运行。但是,如果它在继续像新的一样工作之前不断收到大量信号,它将会超时并丢失一些信号。我可以将< code > MaximumSignalsPerExecution 设置得更低,这样它就会在超时之前拒绝信号,但理想情况下,我希望能够在工作流级别进行配置。 我正在测试一些更糟糕的情况,其中存在流量峰值,并且

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

  • 我偶然创建了一个错误的域名,或者经过一些测试后,我想删除该域名。我应该那样做吗?又是怎么做到的?

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