отправить работу на удаленный сервер с помощью laravel и rabbitmq - PullRequest
0 голосов
/ 03 сентября 2018

у нас есть три машины Centos:

  • machine1 Laravel
  • machine2 Rabbitmq
  • machine3 Laravel

Я использую от vladimir-yuldashev / laravel-queue-rabbitmq пакет для rabbitmq в laravel.

мы хотим, чтобы machine1 отправлял задание на machine2 и machine3 для получения заданий от machine2. Прием работает очень хорошо, но machine1 не отправляет задание на machine2. Я могу отправлять задания с локального на machine2, но machine1 не может отправить.

также laravel не записывает журнал ошибок на machine1.

1 Ответ

0 голосов
/ 21 сентября 2018

У нас тоже похожая ситуация.

Я успешно отправил сообщение с:

$result= RabbitmqJob::dispatch($encoded)->onQueue('addPackage');

на клиенте Windows. Но при развертывании на сервере CentOS 7 сообщение не отправляется. Php не дает мне ошибки, но ни один пакет не выходит из машины через указанный порт (я перехватил сетевые пакеты). Также RMQ веб-панель показывает отсутствие связи. На сервере подписчика, с другой стороны, он успешно подключен к серверу RMQ. Они обмениваются ударами сердца (я вижу частые обмены пакетами), и я вижу соединение на веб-панели RMQ.

Дело в том, что я могу отправлять сообщения напрямую с php-amqplib, как подсказывает учебник RMQ. Но абонент на основе Laravel-queue-RabbitMQ не может принять сообщение, хотя и получает его.

Что я должен сделать, чтобы издатель работал с пакетом Laravel? Кто-нибудь из вас, ребята, испытывал подобные трудности? Это как-то связано с настройкой CentOS? Кстати, я отключил брандмауэр и SELinux на всех задействованных машинах.

Спасибо

...