Laravel

Планировщик в laravel

Запуск команд по расписанию с помощью artisan schedule:run

  1. В файле bootstrap/app.php указываем нужные команды и интервал выполнения
    use Illuminate\Console\Scheduling\Schedule;
    
    ->withSchedule(function (Schedule $schedule) {
        $schedule->command('app:test-schedule')->everyMinute();
    })
  2. Или можно создавать команды с интервалом в файле routes/console.php
    use Illuminate\Support\Facades\Artisan;
    
    Artisan::command('inspire', function () {
        logger()->channel('daily')->info(Inspiring::quote());
    })->purpose('Log an inspiring quote')->yearly();
  3. Затем на сервере настраиваем cron на запуск schedule:run каждую минуту
    * * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

Список запланированных задач и следующее время их запуска можно узнать с помощью schedule:list

php artisan schedule:list

Что бы запустить локально планировщик:

php artisan schedule:work

Планировщик будет запускаться каждую минуту


https://laravel.com/docs/11.x/scheduling