Module: ResqueMods::LoggedJob

Defined in:
lib/resque-mods/logged_job.rb

Instance Method Summary collapse

Instance Method Details

#around_perform_log_job(*args) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/resque-mods/logged_job.rb', line 6

def around_perform_log_job(*args)
  clazz = self.name
  ResqueMods.logger.info "#{clazz} starting up with: #{args.join(", ")}"
  begin 
    run_time = Benchmark.realtime do 
      yield *args
    end 
  rescue => e
    ResqueMods.logger.info "#{clazz} completed unsuccessfully in #{run_time.round unless run_time.nil?} seconds with #{e.class}:#{e.message}"
    raise
  end 
  Librato.measure("resque_mods.logged_job.#{clazz}.run_time", run_time.round(3))
  ResqueMods.logger.info "#{clazz} completed successfully in #{run_time.round unless run_time.nil?} seconds"
end