發生移動到死信隊列的錯誤,我已經使用NPM包,比如試圖SQS隊列並行& SQS-消費者對節點消耗SQS的消息AWS SQS:當消費者
但最近我有機構在當對於特定的消息發生錯誤時的處理,它應該被移到死信隊列
但截至目前其不斷重試的最大消息接收計數倍
是否有可能與其他一些NPM包,分別爲每當發生錯誤時,應將其直接移至死信隊列中?
發生移動到死信隊列的錯誤,我已經使用NPM包,比如試圖SQS隊列並行& SQS-消費者對節點消耗SQS的消息AWS SQS:當消費者
但最近我有機構在當對於特定的消息發生錯誤時的處理,它應該被移到死信隊列
但截至目前其不斷重試的最大消息接收計數倍
是否有可能與其他一些NPM包,分別爲每當發生錯誤時,應將其直接移至死信隊列中?
您可以配置SQS隊列任意數量的失敗消息的接收1和1000之間
後郵件移動到您的死信隊列中有一個消息移動到死信隊列後僅接受失敗,然後修改隊列的配置並將「Maximum Receives」值設置爲1.這將成爲隊列的「Redrive Policy」的一部分。有關配置您的隊列以下AWS文檔: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSDeadLetterQueue.html
你不需要使用新的NPM爲它,當你完成處理的消息會自動發生。例如,如果您已經使用節點消費者,當您與消息完成你做:
done() //in order to remove from queue due to for success probably
或
done(err) //in order to keep in queue
所以現在爲了從隊列中移動消息,你不需要死信隊列做任何事情在你的代碼,但只有在你SQS控制檯管理器:
這就是它的名字!祝你好運,我不得不說sqs是擴展任務的好方法。
知道這有點遲,但認爲OP正試圖尋求動態的政策。 I .: .:
如果大概是什麼問,怎麼做後者。
答案可能是手動將消息複製到死信隊列(它的行爲就像任何其他隊列那樣),然後從源隊列中刪除消息。
不要相信有一種「特殊」的方式來做到這一點。