Consoleコンポーネント

By | 2014年2月14日

こんにちはJです。

今日は雪がふっていますな、先ほど頂いたチョコも驚きの白さでした。
関係者の皆様ありがとうございました。

今回は、Consoleコンポーネントを使用したbatchについて述べたいと思います。

> コンソールコマンドは、cronジョブやインポートなどのバッチジョブなどの自動更新タスクに使用

これまであった課題

  • batch数が増えてきたときにcrontabが分かりずらい、batchの実行される順番またはオプション引数が何なのかなど
  • batchこけた時に再実行する際にオプションとかログの出力などソースを見ないと分からない点があった

 

コマンドの利用方法など

実践

レイアウト

ImportCommand.php

コマンドの実行

また、HELPでオプション指定でオプション引数を確認できる。

–env=development を指定すると
config/development/ の環境のconfigを参照し実行してくれる

 

ファサードを試してみる

< ファサードはアプリケーションのIoCコンテナに用意したクラスに「静的」なインターフェイスを提供してくれます。

引用: Laravel4 日本語ドキュメント

 

  • ServiceProviderを編集する
  • Facadeを作る
  • クラスを作る

ImporterServiceProvider

Facades/Importer.php

Services/AbstractImporter.php

Services/Hoge.php

Services/Moge.php

command から commandを呼ぶ

実行

結果

command:import –name=hoge
command:import –name=moge
が実行される

まとめ

Consoleコンポーネントを使用した際のメリット

  •  ヘルプでオプション引数が分かりやすくなる
  •  command から callメソッドでcommandを呼ぶことができるので、順番を制御する際にも容易
  • webからもcallで呼ぶことが可能

 

よって、冒頭のほうに述べたこれまであった課題は解決ですね。

One thought on “Consoleコンポーネント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です