lib/sidekiq/monitor/server/middleware.rb in sidekiq_monitor-0.1.1 vs lib/sidekiq/monitor/server/middleware.rb in sidekiq_monitor-0.1.2

- old
+ new

@@ -5,18 +5,20 @@ def initialize(options=nil) @processor = Monitor::Processor.new end def call(worker, msg, queue) - @processor.start(worker, msg, queue) - begin - return_value = yield - rescue Exception => exception - @processor.error(worker, msg, queue, exception) - raise exception + ActiveRecord::Base.connection_pool.with_connection do + @processor.start(worker, msg, queue) + begin + return_value = yield + rescue Exception => exception + @processor.error(worker, msg, queue, exception) + raise exception + end + @processor.complete(worker, msg, queue, return_value) + return_value end - @processor.complete(worker, msg, queue, return_value) - return_value end end end end end