Method: QC.log_yield

Defined in:
lib/queue_classic.rb

.log_yield(data) ⇒ Object



70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/queue_classic.rb', line 70

def self.log_yield(data)
  begin
    t0 = Time.now
    yield
  rescue => e
    log({:at => "error", :error => e.inspect}.merge(data))
    raise
  ensure
    t = Integer((Time.now - t0)*1000)
    log(data.merge(:elapsed => t)) unless e
  end
end