最近fuelphpでパッケージ化にはまっています。 最初に作ったパッケージがこれ。 https://github.com/9wick/fuelphp-background 結構マニアックかなと思いますが、バックグラウンドでプロセスを走らせるパッケージです。 メルマガもどきを作らなきゃいけなくなって、調べたら1通/sec以上の速度で送るのはスパム扱いされるからやめたほうがいいと。 でもタイムアウトは60秒だし、100通ぐらいは送りたいし・・・・ということで裏で動かすことにしました。 fuelphpにはtaskというものがちょうどあるので、task限定で裏でプロセスを起動させるようにしました。
つかいかた
一般的なpackageと同じだと思いますが、一応使い方を。
- DLしたbackgroundフォルダごとfuel/packagesフォルダに入れる
- fuel/packages/background/config/background.phpをfuel/app/config/background.phpにコピー
- fuel/app/config/background.phpの設定を変更
- fuel/app/config/config.phpでalways_loadのpackagesにbackgroundを追加
configでは基本
'php_path' => 'php',
のところを環境に合わせて変えてもらえば大丈夫です。 パスが通っていればそのままでもOK。 実際に使うときは
$background = \\Background\\Background::forge() $args = array('arg1','arg2'); $background->add_task('TASKCLASS:TASKMETHOD',args ); $background->run();
で出来るはずです。 win7+WAMPの環境でしか試してないので、不具合があったら教えて下さい。 明日も作ったパッケージの記事を書きます!