X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/f5bd38d4b168540ddb0e33db9e35a51ec5d60c17..cdd8dc7bc4cca452e25c5b014e5f2bb592fb31ce:/services/api/app/middlewares/rack_socket.rb diff --git a/services/api/app/middlewares/rack_socket.rb b/services/api/app/middlewares/rack_socket.rb index 8f82e585df..08d163e6e2 100644 --- a/services/api/app/middlewares/rack_socket.rb +++ b/services/api/app/middlewares/rack_socket.rb @@ -44,18 +44,26 @@ class RackSocket if forked && EM.reactor_running? EM.stop end - Thread.new { - EM.run - } + Thread.new do + begin + EM.run + ensure + ActiveRecord::Base.connection.close + end + end die_gracefully_on_signal end else # faciliates debugging Thread.abort_on_exception = true # just spawn a thread and start it up - Thread.new { - EM.run - } + Thread.new do + begin + EM.run + ensure + ActiveRecord::Base.connection.close + end + end end # Create actual handler instance object from handler class.