🥑

Laravel11 scheduleコマンド

2024/12/21に公開

この記事は Laravel11にあるArtisanコマンドを全部調べる Advent Calendar 2024 21日目の記事です。

今回はscheduleコマンドについて調べました。

環境

  • PHP 8.4.1
  • laravel/laravel 11.3.3
  • laravel/framework 11.33.2

schedule:clear-cache

スケジュールが作成したキャッシュファイルを削除する。

php artisan schedule:clear-cache

実行するとスケジュールでタスクを実行した時に作成される多重起動を防止するためのキャッシュファイルを削除します。

schedule:interrupt

現在のスケジュールされたタスクを中断する。

php artisan schedule:interrupt

実行すると現在実行中のスケジュールされたタスクを中断できます。

schedule:list

すべてのスケジュールされたタスクの一覧を表示する

php artisan schedule:list

実行するとスケジュールされたタスクの一覧が表示します。

オプション 説明
--timezone[=TIMEZONE] 表示する時刻のタイムゾーンを指定
--next 次に実行するタスクの順にソート
  • --timezoneを使うと表示する時刻のタイムゾーンを指定できます
    未指定の場合はconfig/app.phpのtimezoneの値になります
  • --nextを付けると次に実行するタスクの順にソートして表示します

schedule:run

スケジュールされたタスクを実行する。

php artisan schedule:run

実行するとスケジュールしたすべてのタスクの設定を確認し、実行時刻に該当するタスクのみ実行します。

schedule:test

スケジュールされたコマンドを実行する。

php artisan schedule:test

実行するとスケジュールされたタスクを選択できます。

選択すると、タスクを実行します。

オプション 説明
--name[=NAME] 実行するスケジュールされたコマンド名を指定
  • --nameを使って実行したいコマンド名を指定できます
php artisan schedule:test --name=optimize:clear

schedule:work

スケジュールワーカを起動する。

php artisan schedule:work

実行するとコマンドを終了するまで1分ごとにschedule:runコマンドを実行します。
このコマンドはローカル環境などでcronの代替として使用します。

オプション 説明
--run-output-file[=RUN-OUTPUT-FILE] 実行結果の出力先ファイルパスを指定
  • --run-output-fileを使ってschedule:runコマンドの実行結果の出力先ファイルパスを指定できます
GitHubで編集を提案

Discussion