У меня есть «продюсер», который должен работать всегда, но кажется, что примерно через день он все еще может отправлять сообщения в очереди, которые он ранее объявил, но при попытке объявить новую очередь онвзрывается с:
'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 секунд.