/home/stage/.rvm/gems/ruby-2.3.0/gems/bundler-1.11.2/lib/bundler/definition.rb:22:in `build': /home/stage/app/project/releases/20160401213805/Gemfile not found (Bundler::GemfileNotFound)
from /home/stage/.rvm/gems/ruby-2.3.0/gems/bundler-1.11.2/lib/bundler.rb:120:in `definition'
from /home/stage/.rvm/gems/ruby-2.3.0/gems/bundler-1.11.2/lib/bundler.rb:88:in `setup'
from /home/stage/.rvm/gems/ruby-2.3.0/gems/bundler-1.11.2/lib/bundler/setup.rb:18:in `<top (required)>'
from /home/stage/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/stage/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
I am using Capistrano. Clearly after 5 successful build, on the 6th build 20160401213805 directory was deleted, so I couldn't get hold of this before first 5 builds. I can see that the path to gemfile is not updating on load and restart. How do I solve this?
rails_root = ENV['RAILS_ROOT'] || File.dirname(__FILE__) + '/..'
rails_env = ENV['RAILS_ENV'] or raise 'RAILS_ENV not set'
queue_check_interval = 3
num_workers = 1
queue = ['requester']
num_workers.times do |num|
God.watch do |w|
w.name = "resque_#{rails_env}_#{num}"
w.group = 'resque'
w.log = "#{rails_root}/log/god.log"
w.interval = 30.seconds
w.env = {'QUEUE'=>queue[num], 'RAILS_ENV'=>rails_env}
w.start = "rake -f #{rails_root}/Rakefile environment INTERVAL=#{queue_check_interval} resque:work"
# restart if memory gets too high
w.transition(:up, :restart) do |on|
on.condition(:memory_usage) do |c|
c.above = 300.megabytes
c.times = 2
end
end
# determine the state on startup
w.transition(:init, { true => :up, false => :start }) do |on|
on.condition(:process_running) do |c|
c.running = true
end
end
# determine when process has finished starting
w.transition([:start, :restart], :up) do |on|
on.condition(:process_running) do |c|
c.running = true
c.interval = 5.seconds
end
# failsafe
on.condition(:tries) do |c|
c.times = 5
c.transition = :start
c.interval = 5.seconds
end
end
# start if process is not running
w.transition(:up, :start) do |on|
on.condition(:process_running) do |c|
c.running = false
end
end
end
end