[Laravel]バッチ処理のタスクスケジュール2

今回は前回作成したコマンドの処理を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



アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム