gpt4 book ai didi

java - Amazon Simple Workflow - 给定工作流程ID 列出所有执行

转载 作者:行者123 更新时间:2023-12-02 06:46:24 25 4
gpt4 key购买 nike

工作流再次启动时,具有相同的工作流ID,但它获得不同的运行ID。有没有办法检索给定工作流 ID 的此类执行(包含不同的 runID)?

我探索了 ListClosedWorkflowExecutionsRequest API,但它只是列出了所有工作流程执行,而不是特定的工作流程 ID。

我试图解决的问题是:有许多工作流程由于某种原因失败。在重新启动该过程时,我没有包含正确的时间过滤器,其中一些被重新启动,而一些被跳过。因此,我尝试使用 ListClosedWorkflowExecutionsRequest 列出所有失败的工作流程 ID。对于每个工作流程ID,获取所有执行,如果最近一次成功,则跳过它,否则重新启动。

我对 SWF 不太陌生,那么有没有更好的方法来实现相同的目的?

最佳答案

是的,可以按工作流 ID 进行过滤,如中所述 How do you get the state of a WorkflowExecution if all you have is a workflowId in Amazon SWF

答案位于示例中的第 [7] 和 [9] 行,即 executions() 方法调用。不过,对于您的用例,由于您想要的只是关闭执行,因此您只需更改方法调用以包含 lated=True 即可。因此,为了获得 24 小时(默认)内所有已关闭的执行:

In [7]: domain.executions(closed=True)

对于按工作流 ID 过滤的关闭执行:

In [9]: domain.executions(workflow_id='my_wf_id', closed=True)

如果您不使用 boto.swf 而是使用替代库,请参阅 API 文档,了解传递给 ListClosedWorkflowExecutions API 的必要参数。 。

关于java - Amazon Simple Workflow - 给定工作流程ID 列出所有执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18603306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com