0

アップロード時に画像のサムネリングを処理する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
4

1 に答える 1

0

後世のために:

CLIの使用によるCWDは、BluePillを介してデーモンとして実行される場合とは異なることに注意してください。したがって、相対ディレクトリを使用している場合は、それに応じて調整してください。

それが本当の問題ではなくなった場合は、遠慮なく更新してください。

于 2011-03-18T17:55:09.573 に答える