2011-07-12 21 views
2

私は私のresque workerを監視するためにbluepillを取得しようとしています。Resqueコマンドはターミナルからは動作しますが、ブルーライト経由では動作しません。

私はこのコマンドをrootユーザーとしてrails rootから実行すると、resque worker okを起動します。

cd /var/www/domain.com/current; RAILS_ENV=production QUEUE=* bundle exec rake resque:work 

しかし、私はそれだけで、それを起動しようとし続けbluepill使用してそれを実行しようと私にエラーを与えるdoesntのとき。

これは私の青い丸のログです。

W, [2011-07-12T22:58:21.640467 #19267] WARN -- : [domain.com:resque] Executing start command: cd /var/www/domain.com/current; RAILS_ENV=production QUEUE=* bundle exec rake resque:work 
I, [2011-07-12T22:58:21.754392 #19267] INFO -- : [domain.com:resque] Going from down => starting 

I, [2011-07-12T22:59:21.334300 #19267] INFO -- : [domain.com:resque] Going from starting => down 
W, [2011-07-12T22:59:22.339873 #19267] WARN -- : [domain.com:resque] Executing start command: cd /var/www/domain.com/current; RAILS_ENV=production QUEUE=* bundle exec rake resque:work 
I, [2011-07-12T22:59:22.479740 #19267] INFO -- : [domain.com:resque] Going from down => starting 

これを何度も繰り返しています。

は、ここで私はそのが必要な時にロードしていないが、違いをしない場合の開始猶予時間を延長しようとした私の.pillファイルプロセス

app.process("resque") do |process| 
    process.start_command = "cd #{RAILS_ROOT}; RAILS_ENV=#{RAILS_ENV} QUEUE=* bundle exec rake resque:work" 
    process.daemonize = true 

    process.start_grace_time = 10.seconds 
    process.stop_grace_time = 10.seconds 
    process.restart_grace_time = 10.seconds 
end 

です。

誰でも助けてください。事前に

おかげ リック

答えて

1

(少し古い)バンドルのexecを使用するようになったが、容易に編集できるわけではありません。

これは私のプロダクション環境Bluepill AudioBox.fmの設定で、テストしたところ、分かりやすくなりました。

ENVIRONMENT = 'production' 
RAILS_ROOT = ENV['RAILS_ROOT'] || "/var/www/myapp/current" 

Bluepill.application("myapp", :log_file => "/var/log/bluepill.log") do |app| 
    app.uid = "ubuntu" 
    app.gid = "ubuntu" 

    4.times do |i| 
    app.process("uploaders-#{i}") do |process| 
     process.working_dir = RAILS_ROOT 
     process.group = "resque" 
     queues = "amazon_upload" 
     process.start_command = "/usr/bin/env VERBOSE=true RAILS_ENV=#{ENVIRONMENT} QUEUE=#{queues} rake resque:work --trace" 
     process.stop_command = <<-EOF 
     kill -QUIT {{PID}} 
     sleep_count=0 
     while [ -e /proc/{{PID}} ]; do 
     sleep 1 
     let "sleep_count+=1" 
     if [ $sleep_count -eq 60 ]; then 
      kill -TERM {{PID}} 
     fi 
     if [ $sleep_count -ge 70 ]; then 
      kill -KILL {{PID}} 
     fi 
     done 
     EOF 

     process.stdout = process.stderr = "#{RAILS_ROOT}/log/resque.log" 
     process.pid_file  = "#{RAILS_ROOT}/tmp/pids/resque-uploader-#{i}.pid" 
     process.daemonize  = true 
     process.start_grace_time = 5.seconds 
     process.stop_grace_time = 75.seconds 
     process.restart_grace_time = 80.seconds 

     process.checks :mem_usage, :below => 350.megabytes, :every => 1.minute, :times => 3 
    end 
    end 
end 
+0

resque-poolを使用すると、さまざまなタスクを処理する人がたくさんいる場合、キューの管理が大幅に簡素化されます。 – d11wtq

0

あなたはどのバージョンのbluepillを使用しているのかは言わないが、ちょうどその動作で明らかになったバグを修正した。 Pull request submitted

0

私はsshの中に...

をカピストラーノ+ resqueでこの種のものを得ている - 、> sudoのサービスRedisのは、開始カピストラーノを通じて

を開始 - > sudoのサービスRedisのは、起動、コマンドが働いていたと言うが、 no process ...

関連する問題