diff --git a/config/initializers/_shoryuken.rb b/config/initializers/_shoryuken.rb index 99f822d3..3f55f321 100644 --- a/config/initializers/_shoryuken.rb +++ b/config/initializers/_shoryuken.rb @@ -12,11 +12,19 @@ module Shoryuken module Middleware module Server - class RavenReporter - def call(_worker_instance, queue, _sqs_msg, body, &block) - tags = { job: body["job_class"], queue: queue } - context = { message: body } - Raven.capture(tags: tags, extra: context, &block) + class SentryReporter + def call(worker_instance, queue, sqs_msg, body) + Sentry.with_scope do |scope| + scope.set_tags(job: body['job_class'], queue: queue) + scope.set_extras(message: body) + + begin + yield + rescue => e + Sentry.capture_exception(e) + raise e + end + end end end end @@ -27,7 +35,7 @@ def call(_worker_instance, queue, _sqs_msg, body, &block) config.server_middleware do |chain| # remove logging of timing events chain.remove Shoryuken::Middleware::Server::Timing - chain.add Shoryuken::Middleware::Server::RavenReporter + chain.add Shoryuken::Middleware::Server::SentryReporter end end