尝试运行工作流时出现“ QueryFailedError {消息:工作流必须至少处理一项决策任务才能被查询}”

问题描述

当尝试启动工作流程(并向其查询init)时,出现上述错误。我花了一些时间来了解事物的名称-在阅读this之后,更清楚地知道真正的决策任务是什么,但是我认为我在术语上仍然有些迷失。因此,我认为在我的案例中,决策任务所花费的时间超过1秒(queryFirstDecisionTaskWaitTime)。这个等待时间可以以任何方式配置吗?有人遇到过类似的问题吗?

解决方法

是的,您应该可以通过设置请求超时来“配置” queryFirstDecisionTaskWaitTime

例如,在golang中,只是将查询请求发送到Cadence服务器时的上下文超时。

在CLI中测试过:

% date ; ~/cadence/cadence --ct 10 --do qlong wf query -w helloworld_b721724d-11f9-4b5b-a158-2bda4a230297 --query_type "__stack_trace" ; date
Thu Oct  8 14:46:47 PDT 2020
Error: Query workflow failed.
Error Details: QueryFailedError{Message: workflow must handle at least one decision task before it can be queried}
('export CADENCE_CLI_SHOW_STACKS=1' to see stack traces)
Thu Oct  8 14:46:56 PDT 2020

注意:--ct 10表示我们使用10秒作为此命令的上下文超时。

至少,defaultQueryFirstDecisionTaskWaitTime为一秒。当前无法更改此最小边界。而且我认为我们不需要,因为您可以根据每个请求进行配置:D

顺便说一句,谢谢您在StackOverfolw中提出问题,这有助于我们更好地为社区保存知识。

,

哦,我知道是什么了-tasklist的配置不正确。因此,这就是工作流停留在DecisionTaskScheduled状态的原因

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...