Метод job
Метод job применяется к объекту планировщика Schedule и позволяет добавить задачу в расписание. Первым параметром передаётся класс задачи, вторым - список аргументов для конструктора, третьим - имя очереди. Метод возвращает объект события планировщика.
Синтаксис
<?php
Schedule::job($jobClass, $args = [], $queue = null);
?>
Пример
Давайте запланируем выполнение задачи SendDailyReportJob каждый день в 9 утра:
<?php
use Illuminate\Console\Scheduling\Schedule;
use App\Jobs\SendDailyReportJob;
$schedule->job(new SendDailyReportJob())->dailyAt('09:00');
?>
Пример
Давайте передадим аргументы в конструктор задачи ProcessUserJob и выполним её каждые 15 минут в очереди 'high':
<?php
use Illuminate\Console\Scheduling\Schedule;
use App\Jobs\ProcessUserJob;
$userIds = [1, 2, 3];
$schedule->job(new ProcessUserJob($userIds), ['high'])->everyFifteenMinutes();
?>
Пример
Давайте запланируем задачу без аргументов, но укажем имя очереди 'low' и добавим ограничение, чтобы задача не выполнялась одновременно:
<?php
use Illuminate\Console\Scheduling\Schedule;
use App\Jobs\CleanupJob;
$schedule->job(new CleanupJob(), 'low')
->hourly()
->withoutOverlapping();
?>
Смотрите также
-
метод
command,
который планирует выполнение Artisan-команды -
метод
call,
который планирует выполнение замыкания -
метод
daily,
который устанавливает ежедневное выполнение -
метод
withoutOverlapping,
который предотвращает одновременный запуск