Тайм-аут плагина LaravelQueueRabbitMQ на StreamIO.php
У меня проблемы с настройкой плагина LaravelQueueRabbitMQ в проекте Laravel 5.1. Вот хранилище для плагина:
https://github.com/vladimir-yuldashev/laravel-queue-rabbitmq/tree/v5.1
Я установил пакет, добавил требуемого поставщика услуг в файл app.php, настроил файл queue.php и добавил соответствующие записи в мой файл.env, чтобы они указывали на мой сервер RabbitMQ.
Однако, когда я пытаюсь поставить в очередь такую работу
$this->dispatch(new TestQueue);
Я получаю следующую ошибку:
FatalErrorException в потоке 212 StreamIO.php:
Превышено максимальное время выполнения 30 секунд
После некоторой отладки проблема возникает в файле AbstractConnection.php в connect()
метод. В частности, в строке 205 сценарий останавливается и вызывает максимальное время выполнения.
Странно, у меня есть другой проект Laravel, работающий на том же ПК, который работает на версии 5.2. Он использует тот же плагин LaravelQueueRabbitMQ, но версии 5.2, и это прекрасно работает - задания появляются в очереди мгновенно.
У меня заканчиваются идеи, и я не видел никого другого с подобной проблемой. Может кто-то указать мне верное направление?
1 ответ
У меня была та же проблема, и я получал таймаут в файле StreamIO.php.
Прежде всего, проверьте, установлен ли драйвер по умолчанию rabbitmq в файле queue.php или в вашем файле.env, если он определен здесь. Затем, если вы используете кэшированную конфигурацию, запустите:
php artisan cache:clear
очистить кеш, а затем:
php artisan config:cache
сбросить кеш.
Если это не работает, вы также можете попробовать перезапустить приложение rabbitmq, открыв командную строку RabbitMQ и используя команду:
rabbitmqctl stop_app
с последующим
rabbitmqctl start_app
Перезапуск был тем, что решило ошибку для меня. Надеюсь это поможет:)