2007年6月 2日アーカイブ

plaggerからMixiのメールが来ない。
cronで1時間に一回実行しているのだけれど、プロセスががんがん溜まっている。
で、原因を調べてみたらBbsのところで無限ループしている。
とりあえず、Mixiのページを見ながら正規表現を見直し。本当は、Mixi側が変わった場合でも無限ループしないように直すべきなんだろうけど。
あと、本家(?)のWWW::Mixiは0.50-pre2とかまで上がっているらしく、そちらでも対策されているようだ。
私の手元にあるのは0.48と0.49で、そこだけでも結構差分があって面倒なので、今回も0.48からの差分。
時間を取って最新ベースにしたほうが良いんだろうけどな~。
と言うわけでパッチ

今回の件で、plaggerが無限ループしたりすると、cronから毎時起動されてどんどんプロセスが増えてしまうことがわかったので、対策を入れる。
FreeBSDには/usr/bin/lockf と言うコマンドがあり、これを使うとファイルのロックを獲得できたときだけコマンドを実行する、と言うことができるのでcronに仕込むことにした。
55 * * * *       /usr/bin/lockf -t 0 -s /tmp/plagger.$USER /usr/local/bin/plagger -c $HOME/plagger/config.yaml > /dev/null 2>&1
みたいな感じ。最初、-tオプション(ロックのタイムアウト)を付け忘れてしまい、plaggerは一つしか起動しなかったものの、lockfがたくさん起動してしまった。-t 0をつけることで、ロックを獲得できなければその場で諦めてくれる。
2007年6月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

このアーカイブについて

このページには、2007年6月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2007年5月27日です。

次のアーカイブは2007年6月 5日です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 6.1.1