class RailsPerformance::Gems::SidekiqExt
Public Class Methods
new(options=nil)
click to toggle source
# File lib/rails_performance/gems/sidekiq_ext.rb, line 5 def initialize(options=nil) end
Public Instance Methods
call(worker, msg, queue) { || ... }
click to toggle source
# File lib/rails_performance/gems/sidekiq_ext.rb, line 8 def call(worker, msg, queue) now = Time.now record = RailsPerformance::Models::SidekiqRecord.new( enqueued_ati: msg['enqueued_at'].to_i, datetimei: msg['created_at'].to_i, jid: msg['jid'], queue: queue, start_timei: now.to_i, datetime: now.strftime(RailsPerformance::FORMAT), worker: msg['wrapped'.freeze] || worker.class.to_s ) begin result = yield record.status = "success" result rescue Exception => ex record.status = "exception" record.message = ex.message raise ex ensure # store in ms instead of seconds record.duration = (Time.now - now) * 1000 record.save result end end