Очередь php artisan: зависание работы в терминале

Я использую очередь в моем проекте Laravel 5.4 для отправки писем в фоновом режиме. Я создал таблицу для заданий, создал класс для задания и поместил QUEUE_DRIVER=database в свой файл .env. Когда я отправляю свою работу, я вижу свою задачу в таблице jobs. Все идет нормально.

Однако, когда я затем выполняю команду php artisan queue:work на веб-сервере - зависает и не дает результатов.

В чем может быть проблема?

Очередь php artisan: зависание работы в терминале

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
0
415
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вероятно, это связано с тем, что это служба, которая использует текущий поток в Ubuntu (из вашего тега). Если вы добавите &, процесс будет выполняться в разветвленном потоке.

php artisan queue:work &

Или после быстрый гугл вы можете посмотреть

nohup php artisan queue:work --daemon &

Спасибо, помогло)

Andrey Malygin 08.01.2019 15:47

Вы не должны запускать обработчик очереди таким образом, вы действительно должны использовать супервизор

Mike Harrison 08.01.2019 19:55

Другие вопросы по теме