class Qless::Middleware::Metriks::CountEvents

Increments a counter each time an instance of a particular job class completes.

Usage:

Qless::Worker.class_eval do

include Qless::Middleware::CountEvents.new(
  SomeJobClass => "event_name",
  SomeOtherJobClass => "some_other_event"
)

end

Public Class Methods

new(class_to_event_map) click to toggle source
Calls superclass method
# File lib/qless/middleware/metriks.rb, line 30
def initialize(class_to_event_map)
  module_eval do # eval the block within the module instance
    define_method :around_perform do |job|
      super(job)
      return unless job.state == 'complete'
      return unless event_name = class_to_event_map[job.klass]

      counter = ::Metriks.counter("qless.job-events.#{event_name}")
      counter.increment
    end
  end
end