From 1dbb213643690c518752567279877a177bfe2b58 Mon Sep 17 00:00:00 2001 From: Nick Hebner Date: Wed, 26 Mar 2014 22:59:48 -0700 Subject: [PATCH] Release db connections after each callback. --- lib/tubesock.rb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/tubesock.rb b/lib/tubesock.rb index c992f3a..0f2545d 100644 --- a/lib/tubesock.rb +++ b/lib/tubesock.rb @@ -60,8 +60,10 @@ def listen Thread.new do Thread.current.abort_on_exception = true @open_handlers.each(&:call) + release_db_connections each_frame do |data| @message_handlers.each{|h| h.call(data) } + release_db_connections end close end @@ -69,6 +71,7 @@ def listen def close @close_handlers.each(&:call) + release_db_connections @socket.close unless @socket.closed? end @@ -91,6 +94,10 @@ def keepalive end private + def release_db_connections + ActiveRecord::Base.clear_active_connections! if defined? ActiveRecord + end + def each_frame framebuffer = WebSocket::Frame::Incoming::Server.new(version: @version) while IO.select([@socket])