Class: Autoscaler::Sidekiq::MonitorMiddlewareAdapter
- Inherits:
-
Object
- Object
- Autoscaler::Sidekiq::MonitorMiddlewareAdapter
- Defined in:
- lib/autoscaler/sidekiq/monitor_middleware_adapter.rb
Overview
Shim to the existing autoscaler interface Starts the monitor and notifies it of job events that may occur while it’s sleeping
Instance Method Summary collapse
-
#call(worker, msg, queue, _ = nil) ⇒ Object
Sidekiq middleware api entry point.
-
#initialize(scaler, timeout, specified_queues = nil) ⇒ MonitorMiddlewareAdapter
constructor
A new instance of MonitorMiddlewareAdapter.
Constructor Details
#initialize(scaler, timeout, specified_queues = nil) ⇒ MonitorMiddlewareAdapter
Returns a new instance of MonitorMiddlewareAdapter.
14 15 16 17 18 19 20 21 |
# File 'lib/autoscaler/sidekiq/monitor_middleware_adapter.rb', line 14 def initialize(scaler, timeout, specified_queues = nil) unless monitor CelluloidMonitor.supervise_as(:autoscaler_monitor, scaler, strategy(timeout), QueueSystem.new(specified_queues)) end end |
Instance Method Details
#call(worker, msg, queue, _ = nil) ⇒ Object
Sidekiq middleware api entry point
24 25 26 27 28 29 30 |
# File 'lib/autoscaler/sidekiq/monitor_middleware_adapter.rb', line 24 def call(worker, msg, queue, _ = nil) monitor.async.starting_job yield ensure # monitor might have gone, e.g. if Sidekiq has received SIGTERM monitor.async.finished_job if monitor end |