Метод hourly
Метод hourly применяется к экземпляру Schedule
и указывает, что задача должна запускаться каждый час.
Данный метод не принимает никаких параметров и возвращает
тот же объект планировщика для дальнейшей цепочки методов.
Синтаксис
<?php
Schedule::command($command)->hourly();
?>
Пример
Давайте запланируем выполнение команды inspire каждый час:
<?php
use Illuminate\Support\Facades\Schedule;
Schedule::command('inspire')->hourly();
?>
После добавления этого кода в файл routes/console.php
команда будет автоматически выполняться каждый час.
Пример
Запланируем выполнение пользовательской команды каждый час с ограничением времени выполнения:
<?php
use Illuminate\Support\Facades\Schedule;
Schedule::command('users:send-newsletter')
->hourly()
->withoutOverlapping();
?>
Метод withoutOverlapping предотвращает запуск новой
копии задачи, если предыдущая всё ещё выполняется.
Пример
Запланируем выполнение замыкания каждый час с указанием конкретного часового пояса:
<?php
use Illuminate\Support\Facades\Schedule;
Schedule::call(function () {
$res = ['abcde', 'user', 'category'];
foreach ($res as $item) {
echo "Processing: $item";
}
})->hourly()->timezone('Europe/Moscow');
?>
Результат выполнения замыкания при каждом запуске:
"Processing: abcde"
"Processing: user"
"Processing: category"
Метод timezone позволяет указать часовой пояс,
в котором будет выполняться задача.
Смотрите также
-
метод
daily,
который настраивает ежедневное выполнение задачи -
метод
everyMinute,
который настраивает выполнение задачи каждую минуту -
метод
weekly,
который настраивает еженедельное выполнение задачи -
метод
cron,
который позволяет задать произвольное расписание через выражение Cron