diff --git a/config/initializers/99-drain_pool.rb b/config/initializers/99-drain_pool.rb new file mode 100644 index 00000000000..e926753f265 --- /dev/null +++ b/config/initializers/99-drain_pool.rb @@ -0,0 +1,13 @@ +# pg performs inconsistently with large amounts of connections +# this helps keep connection counts in check +Thread.new do + while true + sleep 30 + pools = [] + ObjectSpace.each_object(ActiveRecord::ConnectionAdapters::ConnectionPool){|pool| pools << pool} + + pools.each do |pool| + pool.drain(30.seconds) + end + end +end