Команда schedule:work
Команда schedule:work предназначена для локальной разработки и позволяет запустить планировщик задач Laravel без настройки системного cron. Она запускает процесс, который каждую минуту проверяет и выполняет запланированные задачи. Это удобно при разработке, так как не требует настройки системного планировщика на локальной машине. Команда запускается в фоновом режиме и работает до тех пор, пока не будет остановлена пользователем.
Синтаксис
php artisan schedule:work
Пример
Давайте рассмотрим простой пример настройки задачи в файле app/Console/Kernel.php:
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
{
protected function schedule(Schedule $schedule)
{
$schedule->command('inspire')->hourly();
}
}
?>
Теперь запустим планировщик в локальном окружении:
php artisan schedule:work
Результат выполнения команды:
"INFO Running scheduled tasks every minute."
Пример
Команда автоматически определяет текущее окружение и показывает выполняемые задачи:
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
{
protected function schedule(Schedule $schedule)
{
$schedule->command('logs:clean')->daily();
$schedule->command('backup:run')->weekly();
}
}
?>
Результат выполнения команды:
"INFO Running scheduled tasks every minute."
"Schedule run: logs:clean"
"Schedule run: backup:run"
Смотрите также
-
команда
schedule:run,
которая запускает планировщик при каждом обращении к приложению -
команда
schedule:list,
которая выводит список всех запланированных задач -
класс
Schedule,
который используется для определения расписания задач -
метод
daily,
который планирует задачу на ежедневное выполнение