module ActionCable module Server class Worker # Clear active connections between units of work so the long-running channel or connection processes do not hoard connections. module ClearDatabaseConnections extend ActiveSupport::Concern included do if defined?(ActiveRecord::Base) set_callback :work, :around, :with_database_connections end end def with_database_connections yield ensure ActiveRecord::Base.clear_active_connections! end end end end end