4

常に実行されているはずの「プロデューサー」がありますが、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 秒に設定されています。

4

1 に答える 1