Laravelでバッチ処理

laravel-logo Laravel

Laravelでバッチ処理を実現する方法

Laravelには、「Command」というものが用意されており、それを使うことで、バッチ処理ができます。

用途としては、どっかのWebサイトから情報を収集して自分のDBに登録するとかですね。

Linuxが持つcronに登録することもできるように作られているので定期実行も可能です。

Laravelでバッチ処理を用意する為の大まかな流れ

Laravelでバッチ処理を用意する為の大まかな流れは、以下のようになります。

  1. artisanコマンドでコマンドファイルを作成
  2. コマンドファイルを編集する
  3. 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()

ここに処理を書いていきます。

artisan コマンドでコマンドファイルを実行する

定期実行したい場合はcron用の設定を行う

コメント

タイトルとURLをコピーしました