fix issue with reaping_frequency type

When using DATABASE_URL to configure ActiveRecord, :reaping_frequency
does not get converted from a string to a numeric value. This value is
eventually passed to 'sleep' and must be numeric to avoid exceptions.

This commit converts :reaping_frequency to a float when present.
This commit is contained in:
korbin 2014-12-17 19:45:31 -07:00
parent 3f6a472d92
commit 27955b4bb1
2 changed files with 2 additions and 2 deletions

@ -236,7 +236,7 @@ def initialize(spec)
@spec = spec
@checkout_timeout = (spec.config[:checkout_timeout] && spec.config[:checkout_timeout].to_f) || 5
@reaper = Reaper.new self, spec.config[:reaping_frequency]
@reaper = Reaper.new(self, (spec.config[:reaping_frequency] && spec.config[:reaping_frequency].to_f))
@reaper.run
# default max pool size to 5

@ -60,7 +60,7 @@ def test_reaping_frequency_configuration
def test_connection_pool_starts_reaper
spec = ActiveRecord::Base.connection_pool.spec.dup
spec.config[:reaping_frequency] = 0.0001
spec.config[:reaping_frequency] = '0.0001'
pool = ConnectionPool.new spec