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

Метод monthly

Метод monthly класса Schedule определяет, что задача должна выполняться по расписанию один раз в месяц. Этот метод используется внутри файла app/Console/Kernel.php для настройки периодического выполнения команд, заданий или замыканий. Метод не принимает параметров и возвращает тот же объект Event для дальнейшей цепочки методов.

Синтаксис

<?php protected function schedule(Schedule $schedule) { $schedule->command('command:name')->monthly(); $schedule->job(new JobClass)->monthly(); $schedule->call(function() { // code })->monthly(); } ?>

Пример

Давайте настроим выполнение команды очистки временных файлов каждый месяц:

<?php namespace AppConsole; use IlluminateConsoleSchedulingSchedule; use IlluminateFoundationConsoleKernel as ConsoleKernel; class Kernel extends ConsoleKernel { protected function schedule(Schedule $schedule) { $schedule->command('cleanup:temp')->monthly(); } } ?>

Пример

Давайте создадим задание для отправки ежемесячного отчёта:

<?php namespace AppConsole; use AppJobsGenerateReport; use IlluminateConsoleSchedulingSchedule; use IlluminateFoundationConsoleKernel as ConsoleKernel; class Kernel extends ConsoleKernel { protected function schedule(Schedule $schedule) { $schedule->job(new GenerateReport())->monthly(); } } ?>

Пример

Давайте настроим ежемесячное выполнение замыкания для расчёта статистики:

<?php namespace AppConsole; use AppModelsUser; use IlluminateConsoleSchedulingSchedule; use IlluminateFoundationConsoleKernel as ConsoleKernel; class Kernel extends ConsoleKernel { protected function schedule(Schedule $schedule) { $schedule->call(function() { $count = User::where('active', true)->count(); \Log::info("Active users count: " . $count); })->monthly(); } } ?>

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

"Active users count: 150"

Пример

Давайте настроим задачу с использованием дополнительных методов, таких как timezone и withoutOverlapping:

<?php namespace AppConsole; use IlluminateConsoleSchedulingSchedule; use IlluminateFoundationConsoleKernel as ConsoleKernel; class Kernel extends ConsoleKernel { protected function schedule(Schedule $schedule) { $schedule->command('backup:run') ->monthly() ->timezone('Europe/Moscow') ->withoutOverlapping(); } } ?>

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

  • метод daily,
    который настраивает ежедневное выполнение задачи
  • метод weekly,
    который настраивает еженедельное выполнение задачи
  • метод hourly,
    который настраивает ежечасное выполнение задачи
  • метод cron,
    который позволяет задать произвольное расписание в формате CRON
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить