http://search.cpan.org/dist/Gearman/
http://search.cpan.org/dist/Gearman-Server/
job queueサーバのGearmanについて調べていますが、試しに自動起動scriptを書いてみました。
実際の環境に合わせて書き換えが必要な部分もありますが、とりあえず、動作してます。
起動script
#!/bin/sh # chkconfig: 2345 80 20 # description: Gearman Job Queue Server & Worker case "$1" in start) /usr/local/bin/gearmand --daemon /home/endo/tmp/job_queue_worker.pl & WORKER_PID=$! echo $WORKER_PID > /tmp/GEARMAN_WORKER.PID exit $? ;; stop) #worker stop WORKER_PID=`cat /tmp/GEARMAN_WORKER.PID` kill $WORKER_PID #gearmand stop sh -c "echo shutdown; sleep 2" | telnet localhost 7003 #telnet localhost 7003 すると、gearmandの状態表示やshutdown等ができます #詳細はこちら http://search.cpan.org/perldoc?Gearman::Server::Client exit $? ;; *) echo "Usage $0 start/stop" exit 1;; esac
起動scriptの配備
# cd /etc/rc.d/init.d # cp ~endo/tmp/gearman.sh . # chkconfig --add gearman.sh # chkconfig --list gearman.sh gearman.sh 0:off 1:off 2:on 3:on 4:on 5:on 6:off
「telnet localhost 7003」に接続すると、gearmandの状態表示等ができます
今回は、stop時にshutdownを利用していますが、その他のコマンド( workersk status jobs clients maxqueue shutdown graceful version )に関しては次のurlが参考になると思います。
http://d.hatena.ne.jp/sugyan/20110704/1309759615
http://search.cpan.org/perldoc?Gearman::Server::Client