Magento 2: розривається з'єднання з RabbitMQ
При переносі сайту на інший сервер стикнувся з досить неприємною проблемою. При роботі з чергами постійно обривалося з’єднання. В логах таке повідомлення The connection timed out after 3 sec while awaiting incoming data at /magento/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Wire/AMQPReader.php:142.
Гуглення натякало, що проблеми у інших користувачів Magento якщо і з’являються, то пов’язані з невірно вказаним портом для підключення. І це був не мій випадок, отже проблема поза межами Magento 2.
Оновлення до останньої версії rabbitmq-server нічого не змінило.
На правильну відповідь наштовхнула стаття https://www.getpagespeed.com/server-setup/how-to-fix-consumer-async-operations-all-skipped-as-required-connection-amqp-is-not-configured-unknown-connection-name-amqp-in-magento-2, а саме розділ про встановлення rabbitmq на сервер. Щоб все працювало як належить, треба щоб rabbitmq міг визначити FQDN хоста та/або знайти відповідний запис в /etc/hosts. Ось тут і була засада.
# rabbitmq-diagnostics server_version
Asking node rabbit@myserver for its RabbitMQ version...
3.9.14
RabbitMQ намагався визначити адресу myserver і нічого з того не було ))). Додав відповідний запис в /etc/hosts
# cat /etc/hosts
127.0.0.1 myserver
Після цього черги в Magento 2 запрацювали. Помилка звичайно тупа: на уважність і слідування інструкціям, але кілька днів у мене з’їла.