/ #magento #rabbitmq 

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 запрацювали. Помилка звичайно тупа: на уважність і слідування інструкціям, але кілька днів у мене з’їла.

Author

Олександр Бобилєв

Залишаю собі право використовувати ненормативну (але інформативну) лексику там, де звичайні слова втрачають сенс і не відображають всієї палітри почуттів, від споглядання навколишньої дійсності.