Method: Sentry::Resque::SentryReporter.generate_contexts

Defined in:
lib/sentry/resque.rb

.generate_contexts(queue, worker, payload) ⇒ Object



52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/sentry/resque.rb', line 52

def generate_contexts(queue, worker, payload)
  context = {}

  if payload["class"] == "ActiveJob::QueueAdapters::ResqueAdapter::JobWrapper"
    active_job_payload = payload["args"].first

    context[:"Active-Job"] = {
      job_class: active_job_payload["job_class"],
      job_id: active_job_payload["job_id"],
      arguments: active_job_payload["arguments"],
      executions: active_job_payload["executions"],
      exception_executions: active_job_payload["exception_executions"],
      locale: active_job_payload["locale"],
      enqueued_at: active_job_payload["enqueued_at"],
      queue: queue,
      worker: worker.to_s
    }
  else
    context[:"Resque"] = {
      job_class: payload["class"],
      arguments: payload["args"],
      queue: queue,
      worker: worker.to_s
    }
  end

  context
end