Laravelのコマンドスケジューラを用いて、コマンドを定期実行する場合、設定できる実行間隔は最低1分だ。
cron(Linux)やタスクスケジューラ(Windows)に設定できる最低値が、1分単位だからである。
これを10秒単位にしたい場合、どうすればいいだろうか?
@cd %~dp0 @pushd ..\ C:\php\php.exe artisan custom-command @popd @exit
このようなtask.batを作成しておく。
:loop_start start /B C:\laravel-project\task\task.bat @timeout 10 @goto loop_start
scheduler.batを実行すれば、10秒ごとにコマンド「custom-command」が実行される。
scheduler.batをWindowsのタスクスケジューラに登録し、Windows起動時に実行されるようにしておけば、再起動後も自動で実行が開始できる。