使用workflowId确保工作流的唯一性

时间:2013-11-01 09:44:50

标签: amazon-web-services amazon-swf

我们正在从各种基于cron的流程转向Amazon Simple Workflow Service。其中许多不再需要在特定时间运行,并且只在需要时触发。但是,对于某些工作流程,我们需要保证工作流程(或者更确切地说,工作流程中的所有活动)不会并行发生,并且任何时候都只会运行。一旦完成,它就可以再次运行了。

依赖于workflowId的唯一性,是否会出现任何问题,或者设计是否有问题?如果是这样,那么问题是什么,以及如何设计系统以确保某些工作流程在不应该开始时不会启动。

1 个答案:

答案 0 :(得分:1)

取决于SWF并使用workflowId进行独特的执行,因为状态持久性和仲裁层(以秒为单位被拒绝)绝对不错设计 - 这正是服务的用途。< / p>

是的,workflowIdactivityId都足以确保唯一的执行。

现在,对于工作流程中的活动,activityId不一定必须是唯一的,因为由决策者按任务方式安排工作。有关serial and parallel workflow executions的示例,请参阅boto SWF教程。