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

Метод name

Метод name применяется к экземпляру класса Batch и позволяет задать или получить имя пакета задач. В качестве единственного параметра передаётся строка с именем пакета. Метод возвращает текущий экземпляр пакета для построения цепочки вызовов. Имя пакета используется для идентификации в интерфейсе очередей, системе мониторинга и при логировании.

Синтаксис

<?php $batch = Bus::batch($jobs)->name($name)->dispatch(); ?>

Пример

Давайте создадим пакет задач с именем 'email-sending' для отправки писем пользователям:

<?php namespace App\Http\Controllers; use App\Jobs\SendWelcomeEmail; use Illuminate\Support\Facades\Bus; class MailController extends Controller { public function sendBulkEmails() { $jobs = [ new SendWelcomeEmail(1), new SendWelcomeEmail(2), new SendWelcomeEmail(3), ]; $batch = Bus::batch($jobs) ->name('email-sending') ->dispatch(); echo $batch->name; } } ?>

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

"email-sending"

Пример

Используем метод для задания имени пакета при обработке большого количества данных. Пакет будет называться 'data-processing':

<?php namespace App\Http\Controllers; use App\Jobs\ProcessDataJob; use Illuminate\Support\Facades\Bus; class DataController extends Controller { public function processData() { $jobs = []; for ($i = 0; $i < 100; $i++) { $jobs[] = new ProcessDataJob($i); } $batch = Bus::batch($jobs) ->name('data-processing') ->dispatch(); $res = [ 'batch_name' => $batch->name, 'total_jobs' => $batch->totalJobs, ]; echo json_encode($res); } } ?>

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

{"batch_name":"data-processing","total_jobs":100}

Пример

Получим имя уже существующего пакета задач по его ID с помощью фасада Bus и метода findBatch:

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Bus; class BatchController extends Controller { public function getBatchName($batchId) { $batch = Bus::findBatch($batchId); if ($batch) { echo $batch->name; } else { echo 'Batch not found'; } } } ?>

Результат выполнения кода при существующем пакете:

"image-optimization"

Результат выполнения кода при отсутствующем пакете:

"Batch not found"

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

  • метод batch,
    который создаёт новый пакет задач
  • метод then,
    который выполняет колбэк после успешного завершения пакета
  • метод progress,
    который возвращает прогресс выполнения пакета в процентах
  • метод cancel,
    который отменяет выполнение пакета задач
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить