cronの用意の仕方
普通はスクリプト用意して、そいつをperl hoge.plとかしてやるんだろう。
Catalystのメソッドにcronにさせたい処理を書いて、そいつを
wget -O /dev/null http://service/cron
してやるってのは頭悪いのかなー?
メソッド外部公開とか馬鹿なの?死ぬの?
いやいや、サービスを稼動させてるサーバのIPからしかアクセス許可しない、くらいはやってる。
メソッドにしたとき。
- 利点
書くのが楽
- 欠点
apacheのプロセスサイズ重くなる
処理中に何か起こって、待ち続けてしまうようになったら、その間貴重なapacheプロセスがもったいねー
スクリプトにしたとき。
- 利点
↑の欠点をひっくり返そう
- 欠点
設定はyamlに書いてあるんですけどー
設定がyamlに書いてある?そんなのスクリプト実行の引数にyamlとって
use YAML::Syck; use FindBin; use Path::Class; use lib file( $FindBin::RealBin, 'path_to_lib', 'lib' )->stringify; my $yaml = $ARGV[0] || die "yamlが無いよ無いよ"; my $config = LoadFile($yaml);
で。$configは多分ハッシュレフなので呼びたい項目呼べばいい。
で、cronはどっちでやろうか