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

Метод onConnection

Метод onConnection класса PendingDispatch позволяет указать подключение очереди, которое будет использоваться для отправки задания. Первым параметром передаётся имя подключения, которое должно быть определено в конфигурационном файле config/queue.php. Если метод не вызывать, будет использоваться подключение по умолчанию.

Синтаксис

<?php Job::dispatch()->onConnection($connection); ?>

Пример

Давайте укажем для задания подключение 'redis':

<?php namespace AppJobs; use IlluminateContractsQueueShouldQueue; class SendEmailJob implements ShouldQueue { public function handle() { // Logic for sending email echo "Email sent successfully"; } } ?>

Отправляем задание с указанием подключения:

<?php namespace AppHttpControllers; use AppJobsSendEmailJob; class EmailController extends Controller { public function send() { $job = new SendEmailJob(); $job->onConnection('redis'); $res = $job->dispatch(); echo "Job dispatched on redis connection"; } } ?>

Результат выполнения кода:

"Job dispatched on redis connection"

Пример

Давайте используем цепочку вызовов для указания подключения и очереди одновременно:

<?php namespace AppHttpControllers; use AppJobsProcessImageJob; class ImageController extends Controller { public function process() { $job = new ProcessImageJob(); $res = $job->dispatch()->onConnection('database')->onQueue('images'); echo "Job dispatched with connection and queue"; } } ?>

Результат выполнения кода:

"Job dispatched with connection and queue"

Пример

Давайте проверим, что метод возвращает экземпляр PendingDispatch для дальнейшей цепочки:

<?php namespace AppHttpControllers; use AppJobsGenerateReportJob; class ReportController extends Controller { public function generate() { $job = new GenerateReportJob(); $pendingDispatch = $job->dispatch()->onConnection('sqs'); if ($pendingDispatch instanceof IlluminateBusPendingDispatch) { echo "PendingDispatch instance returned"; } $pendingDispatch->onQueue('reports'); echo "Report job configured"; } } ?>

Результат выполнения кода:

"PendingDispatch instance returned" "Report job configured"

Смотрите также

  • метод onQueue,
    который указывает очередь для выполнения задания
  • метод delay,
    который задаёт задержку перед выполнением задания
  • метод dispatch,
    который отправляет задание в очередь
  • метод push,
    который добавляет задание в очередь
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить