Я пытаюсь заставить Планировщик Laravel выполнить пару команд, однако когда я запускаю php artisan schedule:run
он выполнит только одну из команд в файле kernal.php.
Мой файл Kernal.php выглядит следующим образом:
protected $commands = [
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
$schedule->command('a:import')->everyMinute();
$schedule->command('b:import')->everyFiveMinutes();
}
/**
* Register the Closure based commands for the application.
*
* @return void
*/
protected function commands()
{
require base_path('routes/console.php');
}
Мой файл console.php имеет следующий код:
Artisan::command('a:import', function(a\ImportController $runner) {
$runner->init();
});
Artisan::command('b:import', function(b\ImportController
$runner) {
$runner->beginImport();
});
и когда я запускаю расписание php artisan: run я получаю следующий результат:
D:\development\v2> php artisan schedule:run
´╗┐Running scheduled command: "C:\Program Files\PHP\v7.0\php.exe" "artisan" a:import > "NUL" 2>&1
Буду признателен за любую помощь в определении того, что я пропустил или что-то еще, что мне нужно сделать.
Вывод может быть немного обманчив, но на самом деле действителен. Ты устанавливаешь a:import
бегать каждую минуту и b:import
запускать каждые 5 минут, поэтому при запуске:
Расписание ремесленника php: запустить
вы увидите, что a:import
Команда была выполнена в 5 раз чаще, чем b:import
Вы установили cron, конечно, он не запустится …
Вы добавили команду расписания в crontab?