Windowsサーバーで、cronのようにLaravelコマンドを10秒ごとに実行する方法

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起動時に実行されるようにしておけば、再起動後も自動で実行が開始できる。