AWS SWF:在不同服务器上运行活动

时间:2014-08-26 20:33:16

标签: amazon-web-services amazon-swf

我有一个在2台服务器上运行> 3活动的工作流程,但我希望其中一项活动在第3台专用服务器上运行,即此服务器应该只执行活动x而不是整个工作流程。到目前为止(我的知识有限)我可以在活动中进行服务调用以在专用服务器上执行该过程,然后在完成后接收回调,但我感觉必须有一个更简单的方法。

有没有人试过这个?

1 个答案:

答案 0 :(得分:4)

活动和工作流程任务通过task lists提供。默认情况下,活动计划在与活动类型关联的默认任务列表中。您必须为第三个活动使用不同的任务列表,并确保其活动工作人员轮询该任务列表。

如果您使用AWS Flow Framework for Java,则可以通过以下注释执行此操作:

@Activities
@ActivityRegistrationOptions(...) // used by activity1 and activity2
public interface MyActivities {
   public void activity1();

   public void activity2();

   // override for activity3
   @ActivityRegistrationOptions(defaultTaskList="activity3", ...) 
   public void activity3();

}

然后使用" activity3"作为activity3 ActivityWorker taskListToPoll 构造函数参数。