AWS SQSをトリガーとして、Lambda(同時実行数の上限を5とする)を実行する際に、実行数の上限を超えるキューが投げられた場合に、sqsでリトライさせる方法はどのようにすれば良いのでしょうか?
同時実行数を超えた場合、429エラーが発生するようですが、SQS内でエラーとなって、デッドレターキューを設定している場合、設定回数までリトライされるのでしょうか??
ご教示頂ければ幸甚です。
#プログラムの流れ
- Lambda(1つ目)を実行 : だいたい処理に10分程度要する
- 1つ目のLambdaの実行途中(lambda関数内にキューを投げるプログラムがある)に、2つ目のLambda関数(同じ関数)が動くようにキューを投げる。
- キューはLambda関数のトリガーになっている為、2つ目のLambda関数実行
- Lambda(2つ目)が実行 ・・・ 以下同じ
- 実行するのは全て同じLambda関数(キューを投げる際に変数を渡すので、実行内容は異なる)
- lambda関数の同時実行数の上限を5つに設定している為、5つ目のLambda関数がキューを投げても、6つ目のLambdaは実行されない。
- 最終的には同じlambda関数を合計100回ほど実行したい。
- 同時実行数の上限は変更できない。
あなたの回答
tips
プレビュー