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はどっちでやろうか