0

尝试启动工作流(并查询它以获取 init)时出现上述错误。我花了一段时间才了解事物的名称 - 阅读本文后,更清楚决策任务到底是什么,但我认为我仍然有点迷失在术语上。所以我相信我的案例决策任务需要超过 1 秒(queryFirstDecisionTaskWaitTime)。这个等待时间可以以任何方式配置吗?有没有人遇到过类似的问题?

4

2 回答 2

0

是的,您应该能够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 中提出问题,这有助于我们更好地为社区保存知识。

于 2020-10-08T19:32:57.180 回答
0

哦,我知道它是什么 - 我tasklist的配置不正确。所以这就是工作流卡在DecisionTaskScheduled状态的原因

于 2020-10-09T10:41:46.717 回答