be tolerant of a missing shard for job timing hook

refs CNVS-16467

Change-Id: I2e809ae9ed3eaddc5e33f38ed860be71a95aa094
Reviewed-on: https://gerrit.instructure.com/46306
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
This commit is contained in:
Cody Cutrer 2014-12-26 09:35:11 -07:00
parent 6f260591a8
commit 6989baaa0c
1 changed files with 3 additions and 2 deletions

View File

@ -58,11 +58,12 @@ Delayed::Worker.lifecycle.around(:perform) do |worker, job, &block|
starting_cpu = Process.times()
lag = ((Time.now - job.run_at) * 1000).round
tag = CanvasStatsd::Statsd.escape(job.tag)
stats = ["delayedjob.queue", "delayedjob.queue.tag.#{tag}", "delayedjob.queue.shard.#{job.current_shard.id}"]
shard_id = job.current_shard.try(:id).to_i
stats = ["delayedjob.queue", "delayedjob.queue.tag.#{tag}", "delayedjob.queue.shard.#{shard_id}"]
stats << "delayedjob.queue.jobshard.#{job.shard.id}" if job.respond_to?(:shard)
CanvasStatsd::Statsd.timing(stats, lag)
begin
stats = ["delayedjob.perform", "delayedjob.perform.tag.#{tag}", "delayedjob.perform.shard.#{job.current_shard.id}"]
stats = ["delayedjob.perform", "delayedjob.perform.tag.#{tag}", "delayedjob.perform.shard.#{shard_id}"]
stats << "delayedjob.perform.jobshard.#{job.shard.id}" if job.respond_to?(:shard)
CanvasStatsd::Statsd.time(stats) do
block.call(worker, job)