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

Диспетчеризация Job в Laravel

Когда класс Job готов, его ставят в очередь методом dispatch. Вызов обычно делают в контроллере или слушателе события: пользователь уже сохранён - можно отложить письмо или отчёт.

Синтаксис простой: имя класса, потом dispatch, в скобках - аргументы конструктора Job:

<?php use App\Jobs\SendWelcomeEmail; SendWelcomeEmail::dispatch($user); ?>

dispatch не выполняет handle сам по себе (кроме драйвера sync). Он кладёт задание в хранилище очереди. При database появится запись в таблице jobs. Контроллер может сразу вернуть ответ пользователю.

Аргументы dispatch должны совпадать с конструктором Job. Передали $user - в конструкторе должно быть свойство под пользователя. Ошибку сигнатуры увидите при диспатче или при выполнении.

Запуск worker - отдельный шаг. В этом уроке достаточно вызвать dispatch и убедиться, что код постановки на месте.

Задиспатчьте свой Job из контроллера после создания пользователя.

Что делает dispatch и что он не делает сам?

Передайте в dispatch те же данные, что ждёт конструктор Job.

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