アップロード時に画像のサムネリングを処理するBeanstalkdワーカー スクリプト ( Pheanstalk ライブラリを使用) を作成し、BluePillを実装してワーカー スクリプトを監視/デーモン化したいと考えましたが、BluePill はプロセスの開始に失敗し、開始と停止を繰り返すだけです。 .
BluePill を使用して PHP スクリプトを監視/デーモン化することは可能ですか? Google で見つけたすべてのサンプル構成ファイルは、Rails アプリ用でした。私は PHP よりも Ruby の方が好きで、率直に言って BluePill 構文の方が好きだったので、supervisord 以外のものを試してみたかったのです。
これが私のBluePillスクリプトです:
Bluepill.application("WorkerThumnail") do |app|
app.process("thumbnail_watch") do |process|
process.start_command = "/usr/local/bin/php /var/www/example.com/staging/shared/tasks/WorkerThumbnail.php"
process.pid_file = "/tmp/beanstalk_thumbnail_worker.pid"
process.daemonize = true
process.start_grace_time = 3.seconds
process.stop_grace_time = 5.seconds
process.restart_grace_time = 8.seconds
###########################################
# Memory and CPU Usage checks to make sure
# we don't have a runaway
###########################################
# Check every 20 seconds to make the CPU usage is below 5%;
# if 3 out of 5 checks failed then restart the process
process.checks :cpu_usage, :every => 20.seconds, :below => 5, :times => [3,5]
# Check every 10 seconds to make the Memory usage is below 100 MB;
# if 3 out of 5 checks failed then restart the process
process.checks :mem_usage, :every => 10.seconds, :below => 100.megabytes, :times => [3,5]
end
end
BluePill スクリプトをフォアグラウンドで実行すると、プロセスを手動で強制終了するまで、次の出力が何度も繰り返されます。
[warning]: [WorkerThumnail:thumbnail_watch] Executing start command: /usr/local/bin/php
/var/www/example.com/staging/shared/tasks/WorkerThumbnail.php
[info]: [WorkerThumnail:thumbnail_watch] Going from down => starting
[info]: [WorkerThumnail:thumbnail_watch] Going from starting => down
[warning]: [WorkerThumnail:thumbnail_watch] Executing start command: /usr/local/bin/php /var/www/example.com/staging/shared/tasks/WorkerThumbnail.php
[info]: [WorkerThumnail:thumbnail_watch] Going from down => starting
[info]: [WorkerThumnail:thumbnail_watch] Going from starting => down
[warning]: [WorkerThumnail:thumbnail_watch] Executing start command: /usr/local/bin/php /var/www/example.com/staging/shared/tasks/WorkerThumbnail.php
[info]: [WorkerThumnail:thumbnail_watch] Going from down => starting
[info]: [WorkerThumnail:thumbnail_watch] Going from starting => down
[warning]: [WorkerThumnail:thumbnail_watch] Executing start command: /usr/local/bin/php /var/www/example.com/staging/shared/tasks/WorkerThumbnail.php
[info]: [WorkerThumnail:thumbnail_watch] Going from down => starting
[info]: [WorkerThumnail:thumbnail_watch] Going from starting => down