I am trying to get bluepill to monitor my resque workers.
If i run this command from my rails root as root user it starts up resque worker ok.
cd /var/www/domain.com/current; RAILS_ENV=production QUEUE=* bundle exec rake resque:work
but when i try to run it using bluepill it just keeps trying to start it and doesnt give me an error.
Here is my bluepill log showing it trying....!
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
it keeps doing this over and over.
here is my .pill file process
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
I have tried to extend the start grace time for if its not loading in the required time but not making a difference.
Please can anyone help with this ?
thanks in advance Rick
Not adapted to use bundle exec (a little old) but can be edited easily.
This is my production environment Bluepill AudioBox.fm config, battle tested, happy to share.
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