Class: Shoryuken::Middleware::Server::ActiveRecord

Inherits:
Object
  • Object
show all
Defined in:
lib/shoryuken/middleware/server/active_record.rb

Overview

Middleware that clears ActiveRecord connections after message processing. Ensures database connections are returned to the pool after each job.

Instance Method Summary collapse

Instance Method Details

#call(*_args) { ... } ⇒ Object

Processes a message and clears database connections afterwards

Parameters:

  • _args (Array<Object>)

    middleware call arguments (unused)

Yields:

  • continues to the next middleware in the chain

Returns:

  • (Object)

    return value from the next middleware or worker in the chain



15
16
17
18
19
20
21
22
23
# File 'lib/shoryuken/middleware/server/active_record.rb', line 15

def call(*_args)
  yield
ensure
  if ::ActiveRecord.version >= Gem::Version.new('7.1')
    ::ActiveRecord::Base.connection_handler.clear_active_connections!(:all)
  else
    ::ActiveRecord::Base.clear_active_connections!
  end
end