Метод cron
Метод cron класса Schedule применяется к задаче
и позволяет указать расписание её выполнения в формате
выражения CRON. Первым и единственным параметром
передаётся строка с CRON-выражением. Метод возвращает
тот же объект задачи, что позволяет использовать
метод в цепочке вызовов.
Синтаксис
<?php
Schedule::command($command)->cron($expression);
?>
Пример
Давайте настроим выполнение команды каждые 5 минут:
<?php
use Illuminate\Support\Facades\Schedule;
Schedule::command('queue:work')->cron('*/5 * * * *');
?>
Результат выполнения кода:
"Task scheduled with cron expression: */5 * * * *"
Пример
Давайте настроим выполнение задачи каждый день в 2 часа ночи:
<?php
use Illuminate\Support\Facades\Schedule;
use App\Jobs\ProcessPendingOrders;
Schedule::job(new ProcessPendingOrders())->cron('0 2 * * *');
?>
Результат выполнения кода:
"Job scheduled with cron expression: 0 2 * * *"
Пример
Давайте настроим выполнение замыкания по расписанию в каждый понедельник в 9 утра:
<?php
use Illuminate\Support\Facades\Schedule;
Schedule::call(function () {
Log::info('Weekly report generation started.');
})->cron('0 9 * * 1');
?>
Результат выполнения кода:
"Callback scheduled with cron expression: 0 9 * * 1"
Смотрите также
-
метод
daily,
который устанавливает ежедневное расписание -
метод
hourly,
который устанавливает ежечасное расписание -
метод
everyMinute,
который устанавливает выполнение каждую минуту -
метод
withoutOverlapping,
который предотвращает запуск задачи, если она уже выполняется