From 3517cf048b01c7dca18dfc75a6b7d0b6d4900f75 Mon Sep 17 00:00:00 2001 From: Seth Call Date: Fri, 31 Jan 2014 12:37:43 -0600 Subject: [PATCH] * re-establish pg connection before/after fork --- ruby/lib/jam_ruby.rb | 1 + ruby/lib/jam_ruby/resque/resque_hooks.rb | 10 ++++++++++ web/config/database.yml | 3 --- 3 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 ruby/lib/jam_ruby/resque/resque_hooks.rb diff --git a/ruby/lib/jam_ruby.rb b/ruby/lib/jam_ruby.rb index ce77bf09d..6ab7a51bb 100755 --- a/ruby/lib/jam_ruby.rb +++ b/ruby/lib/jam_ruby.rb @@ -31,6 +31,7 @@ require "jam_ruby/lib/profanity" require "jam_ruby/lib/em_helper.rb" require "jam_ruby/resque/audiomixer" require "jam_ruby/resque/icecast_config_writer" +require "jam_ruby/resque/resque_hooks" require "jam_ruby/resque/scheduled/audiomixer_retry" require "jam_ruby/resque/scheduled/icecast_config_retry" require "jam_ruby/resque/scheduled/icecast_source_check" diff --git a/ruby/lib/jam_ruby/resque/resque_hooks.rb b/ruby/lib/jam_ruby/resque/resque_hooks.rb new file mode 100644 index 000000000..567c931e7 --- /dev/null +++ b/ruby/lib/jam_ruby/resque/resque_hooks.rb @@ -0,0 +1,10 @@ +# https://devcenter.heroku.com/articles/forked-pg-connections +Resque.before_fork do + defined?(ActiveRecord::Base) and + ActiveRecord::Base.connection.disconnect! +end + +Resque.after_fork do + defined?(ActiveRecord::Base) and + ActiveRecord::Base.establish_connection +end \ No newline at end of file diff --git a/web/config/database.yml b/web/config/database.yml index eda590593..644020af3 100644 --- a/web/config/database.yml +++ b/web/config/database.yml @@ -11,7 +11,6 @@ development: host: localhost pool: 5 timeout: 5000 - prepared_statements: false # Warning: The database defined as "test" will be erased and # re-generated from your development database when you run "rake". @@ -24,7 +23,6 @@ test: &test host: localhost pool: 5 timeout: 5000 - prepared_statements: false production: adapter: postgresql @@ -34,7 +32,6 @@ production: host: localhost pool: 5 timeout: 5000 - prepared_statements: false cucumber: <<: *test