おぼえがき

おぼえがき

fuelphpでバッチ処理(oil refineを利用する)

2013-04-17 | php
oil refineをちゃんと見る

バッチ処理を動かすときは、oil refineを利用するんだが、
ちょいとハマったところもあるので、まとめておく

バッチ処理は、全て、fuel/app/tasks/ここのディレクトリ
配下に配下に置くようになっている。


2 namespace Fuel\Tasks;
3 class Hoge
4 {
5 public static function run()
6 {
7 echo "hoge";
8 }
9 }


これを実行するには、oil refine hoge
runメソッドが実行される


2 namespace Fuel\Tasks;
3 class Hoge
 4 {
5 public static function run()
6 {
7 echo "hoge";
8 }
9 public static function sample()
10 {
11 echo "this is sample";
12 }
13 }


これを実行するには、oil refine hoge:sample
runメソッドではなく、オリジナルのメソッドが実行される


2 namespace Fuel\Tasks;
3 class Hoge
4 {
5 public static function run($a,$b)
6 {
7 echo $a;
8 echo $b;
9 echo "hoge";
10 }
11 public static function sample()
12 {
13 echo "this is sample";
14 }
15 }


これを実行するには、oil refine hoge AAA BBB
これで、runメソッドに引数を渡すことができる

そんざいする、タスクをタスクを確認する
Available tasks:
php oil refine install
php oil refine migrate:help
php oil refine session
php oil refine session:create
php oil refine session:remove
php oil refine session:clear
php oil refine session:help
php oil refine fromdb
php oil refine fromdb:help
php oil refine fromdb:scaffold
php oil refine fromdb:model
php oil refine hoge <------ お!入っている
php oil refine hoge:sample <------ お!入っている
php oil refine robots
php oil refine robots:protect


modelとかパッケージがなぜか呼べなかったが、
\モデル名
\Email::forge()

ってやればちゃんと呼ぶことができた。


ちなみに、oilコマンドでタスクの生成ができる(これ、ヘルプ oil g help に載ってない気がする)
oil g task test
ってやったら、tasks/配下にtest.phpとrunメソッドのスケルトンが生成されて
oil g task test2 subtest
ってやったら、tasks/配下にtest2.phpとrunメソッドとsubtestのスケルトンが生成される

おしまい。

最新の画像[もっと見る]

コメントを投稿