Планировщик в laravel
Запуск команд по расписанию с помощью artisan schedule:run
- В файле bootstrap/app.php указываем нужные команды и интервал выполнения
use Illuminate\Console\Scheduling\Schedule; ->withSchedule(function (Schedule $schedule) { $schedule->command('app:test-schedule')->everyMinute(); })
- Или можно создавать команды с интервалом в файле routes/console.php
use Illuminate\Support\Facades\Artisan; Artisan::command('inspire', function () { logger()->channel('daily')->info(Inspiring::quote()); })->purpose('Log an inspiring quote')->yearly();
- Затем на сервере настраиваем 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
Планировщик будет запускаться каждую минуту