Laravel スケジューラにいくつかのコマンドを実行させようとしていますが、実行php artisan schedule:run
すると kernal.php ファイル内のコマンドの 1 つだけが実行されます。
私の 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 schedule: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
私が見逃したものや、私がしなければならないことを特定するための助けをいただければ幸いです。