Hi,
In my ror 3.0.10 app Unicorn somehow causes my application to show
errors on staging like it was development environment (with backtrace
and everything) instead of sending them to hoptoad. This is strange -
same app on mongrel shows custom 500 page and sends errors to hoptoad
as expected.
Rails configuration seems to be ok, works on mongrel and passenger.
To lunch my app i''m using pretty basic command:
"bundle exec unicorn_rails -c config/unicorn.rb -D -E staging"
nothing fancy inside the config:
#config/unicorn.rb
rails_env = ENV["RAILS_ENV"] || "production"
user_name = ''my_app_name''
app_path = "/home/#{user_name}/app/current"
shared_path = "/home/#{user_name}/app/shared"
worker_processes rails_env == ''production'' ? 6 : 2
listen 9999, :tcp_nopush => true
preload_app true
timeout 30
pid "#{app_path}/tmp/pids/unicorn.my_app_name.pid"
working_directory app_path
user user_name, user_name
stderr_path "#{shared_path}/log/unicorn.stderr.log"
stdout_path "#{shared_path}/log/unicorn.stdout.log"
before_fork do |server, worker|
if defined?(ActiveRecord::Base)
ActiveRecord::Base.connection.disconnect!
end
old_pid = "#{app_path}/tmp/pids/unicorn.my_app_name.pid.oldbin"
if File.exists?(old_pid) && server.pid != old_pid
begin
Process.kill("QUIT", File.read(old_pid).to_i)
rescue Errno::ENOENT, Errno::ESRCH
end
end
end
after_fork do |server, worker|
if defined?(ActiveRecord::Base)
ActiveRecord::Base.establish_connection
end
end
Any help w''d be appreciated.
Thx, Madsheep.