@bifshteksex

Почему очереди Laravel не работают на production сервере?

Столкнулся с такой проблемой:
На локально развернутом сервере (Laravel Herd) я создал Job, который получает трек-номер заказа по API службы доставки.

Я указал QUEUE_CONNECTION=database в .env, а также выполнил:
php artisan queue:table
php artisan queue:batches-table
php artisan notifications:table
php artisan migrate

И локально у меня все работает отлично! Я просто выполнил команду php artisan queue:work, и когда я запустил Job, в терминале появились записи по типу:
2024-07-11 16:18:27 App\Jobs\FetchCdekOrderInfo ... RUNNING

2024-07-11 16:18:28 App\Jobs\FetchCdekOrderInfo ... DONE


Но при деплое на production возникли некоторые трудности. Я проделал все те же действия, что описаны выше, весь код и настройки проекта точно такие же, но когда я выполняю команду php artisan queue:work, мне в терминале просто пишет: INFO Processing jobs from the [default] queue и все. Задания не работают, в терминале не появляется никаких записей.

Подскажите, пожалуйста, в чем может быть проблема? Как настроить очереди на рабочем сервере?
Если нужна дополнительная информация или код, пожалуйста, сообщите.

База данных - MySql
Настройки сервера:
Laravel 10.48.11
Apache 2.4.58
Nginx 1.25.4

Я попробовал чистить кэш, перезапускать сервер, изменять QUEUEUE_CONNECTION на redis и ставить выполнение php artisan queue:work через Supervisor
  • Вопрос задан
  • 159 просмотров
Решения вопроса 1
@bifshteksex Автор вопроса
Проблема решилась тем, что в конфиге Supervisor команда php artisan queue:work должна выполняться с флагом --force
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы