preload_app in unicorn
This commit is contained in:
parent
ff71bc5a44
commit
95b7e30e00
1 changed files with 18 additions and 3 deletions
|
|
@ -7,7 +7,7 @@ rails_env = ENV['RAILS_ENV'] || 'development'
|
||||||
worker_processes 1
|
worker_processes 1
|
||||||
|
|
||||||
## Load the app before spawning workers
|
## Load the app before spawning workers
|
||||||
#preload_app true
|
preload_app true
|
||||||
|
|
||||||
# How long to wait before killing an unresponsive worker
|
# How long to wait before killing an unresponsive worker
|
||||||
timeout 30
|
timeout 30
|
||||||
|
|
@ -23,7 +23,12 @@ end
|
||||||
|
|
||||||
before_fork do |server, worker|
|
before_fork do |server, worker|
|
||||||
# If using preload_app, enable this line
|
# If using preload_app, enable this line
|
||||||
#ActiveRecord::Base.disconnect!
|
ActiveRecord::Base.connection.disconnect!
|
||||||
|
|
||||||
|
# disconnect redis if in use
|
||||||
|
if !AppConfig.single_process_mode?
|
||||||
|
Resque.redis.client.disconnect
|
||||||
|
end
|
||||||
|
|
||||||
old_pid = '/var/run/diaspora/diaspora.pid.oldbin'
|
old_pid = '/var/run/diaspora/diaspora.pid.oldbin'
|
||||||
if File.exists?(old_pid) && server.pid != old_pid
|
if File.exists?(old_pid) && server.pid != old_pid
|
||||||
|
|
@ -38,7 +43,17 @@ end
|
||||||
|
|
||||||
after_fork do |server, worker|
|
after_fork do |server, worker|
|
||||||
# If using preload_app, enable this line
|
# If using preload_app, enable this line
|
||||||
# ActiveRecord::Base.establish_connection
|
ActiveRecord::Base.establish_connection
|
||||||
|
|
||||||
|
# copy pasta from resque.rb because i'm a bad person
|
||||||
|
if !AppConfig.single_process_mode?
|
||||||
|
if redis_to_go = ENV["REDISTOGO_URL"]
|
||||||
|
uri = URI.parse(redis_to_go)
|
||||||
|
Resque.redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
|
||||||
|
elsif AppConfig[:redis_url]
|
||||||
|
Resque.redis = Redis.new(:host => AppConfig[:redis_url], :port => 6379)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# Enable this line to have the workers run as different user/group
|
# Enable this line to have the workers run as different user/group
|
||||||
#worker.user(user, group)
|
#worker.user(user, group)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue