Laravelでバッチ処理を実現する方法
Laravelには、「Command」というものが用意されており、それを使うことで、バッチ処理ができます。
用途としては、どっかのWebサイトから情報を収集して自分のDBに登録するとかですね。
Linuxが持つcronに登録することもできるように作られているので定期実行も可能です。
Laravelでバッチ処理を用意する為の大まかな流れ
Laravelでバッチ処理を用意する為の大まかな流れは、以下のようになります。
- artisanコマンドでコマンドファイルを作成
- コマンドファイルを編集する
- artisan コマンドでコマンドファイルを実行する
- 定期実行したい場合はcron用の設定を行う
詳細に書いていきます。
artisanコマンドでコマンドファイルを作成
以下のコマンドで、Laravelコマンドのガワが作れます。
php artisan make:command クラス名
例)
php artisan make:command getHtml
コマンドファイルを編集する
先述のコマンドを実行すると、
app/Console/Commands/
配下にコマンドファイルが作成されます。
ファイル名は、make:command コマンドで指定した「クラス名」です。
中身は以下のようになっています。
protected $signature = 'command:name';
「commad:name」の部分が実行するときに使うコマンド名です。
protected $description = 'Command description';
ディスクリプションです。
public function handle()
ここに処理を書いていきます。
コメント