Module: Logsy::SidekiqMiddleware
- Defined in:
- lib/logsy/sidekiq_middleware.rb,
lib/logsy/sidekiq_middleware/client.rb,
lib/logsy/sidekiq_middleware/server.rb
Overview
Sidekiq middleware namespace.
In a Rails app there is nothing to do: the Railtie calls SidekiqMiddleware.install! for
you once Sidekiq is loaded (opt out with
config.auto_register_sidekiq_middleware = false).
Outside Rails — or after opting out — require this file and register the middleware with a single call:
require 'logsy/sidekiq_middleware'
Logsy::SidekiqMiddleware.install!
Defined Under Namespace
Class Method Summary collapse
-
.install!(sidekiq = ::Sidekiq) ⇒ Object
Registers the bundled middleware with Sidekiq: - Client on the client chain (web/console enqueues a job) - Client on the server's client chain (a running job enqueues another) - Server on the server chain (a worker runs a job).
Class Method Details
.install!(sidekiq = ::Sidekiq) ⇒ Object
Registers the bundled middleware with Sidekiq:
- Client on the client chain (web/console enqueues a job)
- Client on the server's client chain (a running job enqueues another)
- Server on the server chain (a worker runs a job)
Idempotent: Sidekiq's Chain#add replaces an existing entry, so calling
this twice (e.g. auto-registration plus a stray manual call) won't
duplicate the middleware. sidekiq defaults to the ::Sidekiq constant
and is injectable for testing.
28 29 30 31 32 33 34 35 36 37 |
# File 'lib/logsy/sidekiq_middleware.rb', line 28 def self.install!(sidekiq = ::Sidekiq) sidekiq.configure_client do |config| config.client_middleware { |chain| chain.add(Client) } end sidekiq.configure_server do |config| config.client_middleware { |chain| chain.add(Client) } config.server_middleware { |chain| chain.add(Server) } end end |