2016-04-25 16 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以提高您的賬戶利率。