Столкнулся с такой проблемой:
На локально развернутом сервере (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