2008/12/24

daemontoolsをインストールしたよ

仕事で管理してるサーバの一つでcronで定期的に実行してる処理があるんだけど、時間がやたらとかかる。平気で4時間とかかかる。
で、遅いだけならまだしも、前の処理が終わってないうちに次の処理が平行で走ると、8時間とか12時間とかどんどん時間がかかる。load avarageが10とかヨユーで超える。なんだよそれー!
でも、俺が作ったやつじゃないからそのスクリプト自体は触れない。というか俺のせいにされたくないから触りたくない。作った人に頼んどくれ。
で、俺はというとシステム全体のパフォーマンスが落ちないように、平行して処理されないようにしますねということで、daemontoolsをインストールしたよ。

えっと、サーバはCentOS5なので、パッケージはやっぱyumでインストールでしょ?と思ったんだけど、パッケージがねーよ!えぇーマジで。そりゃねーよ。

あきらめきれない。。。。あ、SRPMがあった。
[ ~]# wget wget http://www.qmailtoaster.org/download/develop/daemontools-toaster-0.76-1.3.3.src.rpm
[ ~]# sudo rpmbuild --rebuild daemontools-toaster-0.76-1.3.3.src.rpm
[ ~]# sudo rpm -Uvh /usr/src/redhat/RPMS/x86_64/daemontools-toaster-0.76-1.3.3.x86_64.rpm

よし、じゃあcronに設定しよう
[ ~]# crontab -e
01 * * * * /usr/bin/setlock -nx /tmp/script.lock /foo/cron/script.sh

これで /tmp/script.lock がロックできるか、なければ新しく作成して script.sh を実行するし、ロックできなければあきらめるようになるよ。

0 件のコメント:

Google Analytics