10.2. 接続およびプロトコルエラーの処理
以下の messaging_handler メソッドを上書きすると、プロトコルレベルのエラーを処理することができます。
-
on_transport_error(event) -
on_connection_error(event) -
on_session_error(event) -
on_link_error(event)
これらのイベント処理機能は、イベントにある特定のオブジェクトとともにエラー状態が生じるたびに呼び出されます。エラーハンドラーを呼び出すと、適切なクローズハンドラーも呼び出されます。
クローズハンドラーはエラー発生時に呼び出されるため、エラーハンドラー内でのみ処理する必要があります。リソースクリーンアップは、クローズハンドラーで管理できます。特定のオブジェクトに固有のエラー処理がない場合、一般的な on_error ハンドラーを使用することが一般的で、より具体的なハンドラーはありません。
再接続が有効になり、リモートサーバーが amqp:connection:forced 条件で接続を閉じると、クライアントはこれをエラーとして処理しないため、on_connection_error ハンドラーは実行されません。代わりに、クライアントが再接続プロセスを開始します。