РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pplrSpQuDr 171 of 210 menu

Драйвер очереди в Laravel

Где хранится очередь, задаёт переменная QUEUE_CONNECTION в .env. От неё зависит, выполнятся ли задания сразу или будут ждать worker.

Значение sync значит: очередь «синхронная». Job выполняется сразу в том же запросе, отдельный worker не нужен. Так удобно на старте учёбы: код с dispatch уже написан, а инфраструктуру очереди можно не поднимать. Но страница снова ждёт, пока закончится handle.

QUEUE_CONNECTION=sync

Для настоящей фоновой очереди на учёбе часто ставят database: задания лежат в таблице базы. Тогда в .env пишут QUEUE_CONNECTION=database и создают таблицы очереди миграцией (в современных версиях Laravel для этого есть готовая команда Artisan). После миграции появится таблица вроде jobs - в неё worker будет забирать задания.

QUEUE_CONNECTION=database

Пока стоит sync, worker не слушает очередь. Когда перейдёте на database, без queue:work задания будут только копиться в таблице. Драйвер и worker работают в паре.

Чем sync отличается от database?

Поставьте в .env QUEUE_CONNECTION=database (или оставьте sync для первых экспериментов).

Зачем при драйвере database нужна миграция таблицы jobs?

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить