すべての DLQ メッセージを確実に処理する
送達不能キュー・ハンドラーは、表示されているが、除去されなかった DLQ のすべてのメッセージのレコードを保持しています。 DLQ に含まれているメッセージの数ができるだけ少ないことを確認してください。
本タスクについて
フィルターとして DLQ ハンドラーを使用して、DLQ からメッセージの小サブセットを抽出する場合、DLQ ハンドラーは、処理しなかった DLQ 内のメッセージのレコードを引き続き保持します。 また、DLQ が先入れ先出し (FIFO) として定義されても、DLQ に到着する新規メッセージが参照されることを DLQ ハンドラーは保証できません。 キューが空ではないとき、DLQ は定期的に再スキャンされて、すべてのメッセージが検査されます。
これらの理由により、DLQ に含まれるメッセージの数をできるだけ少なくする必要があります。 理由は何であれ、廃棄されない、または他のキューに転送されないメッセージがキューに累積されるのを許容すると、DLQ ハンドラーのワークロードが増えて、DLQ 自体が満杯になる危険があります。
DLQ ハンドラーが DLQ を空にできるようにするには、以下の処置を行います。