[Laravel]バッチ処理のタスクスケジュール2
- 2020年7月31日
- 技術情報
今回は前回作成したコマンドの処理をLinuxのタスクスケジュール(cron)に登録をおこない、指定した日時で自動的に実行させる方法について紹介したいと思います。
(本記事は前回の記事「[Laravel]バッチ処理のタスクスケジュール」の続きです)
タスクスケジュールへの登録
タスクスケジュールに登録するためには以下のコマンドでcronの登録をおこないます。
$ crontab -e
cronに登録する内容は以下です。
* * * * * php /path_to_your_project/artisan schedule:run >> /dev/null 2>&1
cronに登録する内容は上記のように一定です。
実行時間の指定など、定期的に実行するタイミングを指定するのはLaravel(app/Console/Kernel.php)のほうでで設定します。
Kernel.phpの設定方法
Kernel.phpのscheduleファンクションに以下のように記述をおこないます。
$schedule->command('batchtest')->hourly();
上記の「->hourly()」は「タスクを毎時間実行する」という意味になります。
その他、以下のような設定が可能です。
->everyMinute();
タスクを毎分実行する
->everyFiveMinutes();
タスクを5分毎に実行する
->hourly();
タスクを毎時間実行する
->daily();
タスクを毎日実行する(深夜0時に実行されます)
->dailyAt(’13:00′);
タスクを毎日13時に実行する
->weekly();
タスクを毎週実行する(日曜日の深夜0時に実行されます)
->monthly();
タスクを毎月実行する(月初の深夜0時に実行されます)
->yearly();
タスクを毎年実行する(年始の深夜0時に実行されます)
用途に応じて設定変更が可能です。
またタスクは複数のコマンドに対して、別々の実行プランの登録をおこなうことも可能です。
金曜日担当: nishida
nishida at 2020年07月31日 10:00:31