Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Amazon简单工作流-给定workflowID列出所有执行_Java_Amazon Web Services_Amazon_Amazon Swf - Fatal编程技术网

Java Amazon简单工作流-给定workflowID列出所有执行

Java Amazon简单工作流-给定workflowID列出所有执行,java,amazon-web-services,amazon,amazon-swf,Java,Amazon Web Services,Amazon,Amazon Swf,工作流使用相同的workflowID再次启动时,将获得不同的runID。是否有方法检索给定工作流ID的此类执行(包含不同的runID) 我研究了ListClosedWorkflowExecutionsRequestAPI,但它只列出了所有工作流执行,而不是特定的workflowID 我试图解决的问题是:有许多工作流由于某种原因而失败。在重新启动过程中,我并没有包括正确的时间过滤器,其中很少有人重新启动,而很少有人被跳过。所以我想做的是,使用ListClosedWorkflowExecutions

工作流使用相同的workflowID再次启动时,将获得不同的runID。是否有方法检索给定工作流ID的此类执行(包含不同的runID)

我研究了
ListClosedWorkflowExecutionsRequest
API,但它只列出了所有工作流执行,而不是特定的workflowID

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

我对SWF不太熟悉,所以有没有更好的方法来实现同样的目标


谢谢

是的,可以按中所述的workflowId进行筛选 .

答案在示例的第[7]行和第[9]行,
executions()
方法调用。不过,对于您的用例,因为您只需要关闭执行,所以您只需更改方法调用以包括
closed=True
。因此,为了在24小时内完成所有已关闭的执行(默认值):

对于按工作流id筛选的已关闭执行:

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

如果您使用的不是
boto.swf
,而是另一个库,请参阅API文档,了解要传递到的必要参数

以前不知道ListClosedWorkflowExecutions API中接受workflowId的ExecutionFilter。谢谢
In [9]: domain.executions(workflow_id='my_wf_id', closed=True)