2016-04-25 45 views
1

当活动注册期间我们的流程启动时,我们已经开始经历失败。问题发生在GenericActivityWorker.registerActivityTypes中。在简单工作流程中注册活动时进行节流

异常产生是:

Caused by: AmazonServiceException: Status Code: 400, AWS Service: AmazonSimpleWorkflow, AWS Request ID: 78726c24-47ee-11e3-8b49-534d57dc0b7f, AWS Error Code: ThrottlingException, AWS Error Message: Rate exceeded 
    at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:686) 
    at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:350) 
    at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:202) 
    at com.amazonaws.services.simpleworkflow.AmazonSimpleWorkflowClient.invoke(AmazonSimpleWorkflowClient.java:3061) 
    at com.amazonaws.services.simpleworkflow.AmazonSimpleWorkflowClient.registerActivityType(AmazonSimpleWorkflowClient.java:2231) 
    at com.amazonaws.services.simpleworkflow.flow.worker.GenericActivityWorker.registerActivityType(GenericActivityWorker.java:153) 
    at com.amazonaws.services.simpleworkflow.flow.worker.GenericActivityWorker.registerActivityTypes(GenericActivityWorker.java:118) 
    at com.amazonaws.services.simpleworkflow.flow.worker.GenericActivityWorker.registerTypesToPoll(GenericActivityWorker.java:105) 
    at com.amazonaws.services.simpleworkflow.flow.worker.GenericWorker.start(GenericWorker.java:367) 
    at com.amazonaws.services.simpleworkflow.flow.ActivityWorker.start(ActivityWorker.java:248) 
    at com.fluid.retail.workflows.DefaultWorkflowHost.start(DefaultWorkflowHost.java:226) 
    ... 5 more 

的ActivityWorker问题都有一个与之相关的5-活动实现类,我认为这节流正在发生,因为内部流程框架代码循环在活动类型注册他们之间没有任何延迟。

因为这段代码是框架内部的,所以我们不能添加任何sleep()调用来防止受到限制。

任何想法,将不胜感激。

+0

请参阅https://forums.aws.amazon.com/thread.jspa?threadID=227326&tstart=0,其中包含有关此问题的长时间讨论。 –

回答

0

你确定在注册你的活动期间发生了这种情况吗?或者在安排活动时发生? 如果您尝试运行将过快安排太多活动的工作流程,您会遇到此问题。此时你有2个选项。 1.尝试并使活动顺序进行并让他们等待前一个活动。 2.联系AWS以提高您的账户利率。