diff options
-rw-r--r-- | examples/unicorn.conf.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/examples/unicorn.conf.rb b/examples/unicorn.conf.rb index 9dce58a..4b28a5a 100644 --- a/examples/unicorn.conf.rb +++ b/examples/unicorn.conf.rb @@ -54,12 +54,23 @@ GC.respond_to?(:copy_on_write_friendly=) and # fast LAN. check_client_connection false +# local variable to guard against running a hook multiple times +run_once = true + before_fork do |server, worker| # the following is highly recomended for Rails + "preload_app true" # as there's no need for the master process to hold a connection defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect! + # Occasionally, it may be necessary to run non-idempotent code in the + # master before forking. Keep in mind the above disconnect! example + # is idempotent and does not need a guard. + if run_once + # do_something_once_here ... + run_once = false # prevent from firing again + end + # The following is only recommended for memory/DB-constrained # installations. It is not needed if your system can house # twice as many worker_processes as you have configured. |