- ELB は、TCP 接続が CLOSE_WAIT 状態に切り替わり、60 秒間アイドリング状態で接続を自動的に閉じます。
- ただし、セロリは気付かれず、パブリッシュタスクメッセージを保持します
- メッセージは送信バッファに保持されます
- バッファーがいっぱいになると、セロリの公開呼び出しがブロックされます。
考えられる損害:
- 送信バッファ内のメッセージは失われます
- ブロッキング パブリッシング呼び出しは、シングル スレッド ioloop フレームワークにとって非常に有害です。例: 竜巻
考えられる損害:
ソリューション
BROKER_TRANSPORT_OPTIONS = {'confirm_publish': True}
パブリッシュされた各メッセージの ack をセロリが待機するようにするには、ack が受信されない場合、接続を再構築して再度送信します。py-amqp ( ref )、パフォーマンスのダウングレードにのみ適用されます。