常に実行されているはずの「プロデューサー」がありますが、1日ほど経っても、以前に宣言したキューにメッセージを送信できるようですが、新しいキューを宣言しようとすると、爆発します:
'PhpAmqpLib\Exception\AMQPHeartbeatMissedException' with message 'Missed server heartbeat' in /php-amqplib/php-amqplib/PhpAmqpLib/Wire/IO/AbstractIO.php:140
ハートビートは消費者専用だと思いました(プロデューサーのハートビートを確認する場所がないため)?私が「消費者」ではないときにハートビートがチェックされているのはバグですか?
それとも、キューを宣言するときにスクリプトも「消費者」になるのですか?サーバーからのキューを使用する準備ができているというフィードバックを「消費」する必要があるためですか?
現在の設定方法でqueue_declare
は、実行した場合に爆発するかどうかを定期的に確認して、実行する必要があるときにqueue_declare
予期せず爆発しないようにするために、どのような回避策を使用できますか?
私はAMQPSSLConnection
最新バージョン(2.9.2)で使用しており、ずっと$connection->isConnected()
戻っtrue
てきています。ハートビートは 15 秒に設定されています。