Sha256: b4d7b1e6bd27ec1ec4a82ed7ee07532caa9e4f2fd72f2fb6ac311329a97b969b
Contents?: true
Size: 1.22 KB
Versions: 18
Compression:
Stored size: 1.22 KB
Contents
# frozen_string_literal: true module Appsignal module Integrations # @api private module ResqueIntegration def perform transaction = Appsignal::Transaction.create(Appsignal::Transaction::BACKGROUND_JOB) Appsignal.instrument "perform.resque" do super end rescue Exception => exception # rubocop:disable Lint/RescueException transaction.set_error(exception) raise exception ensure if transaction transaction.set_action_if_nil("#{payload["class"]}#perform") args = Appsignal::Utils::HashSanitizer.sanitize( ResqueHelpers.arguments(payload), Appsignal.config[:filter_parameters] ) transaction.add_params_if_nil(args) transaction.add_tags("queue" => queue) Appsignal::Transaction.complete_current! end Appsignal.stop("resque") end end # @api private class ResqueHelpers def self.arguments(payload) case payload["class"] when "ActiveJob::QueueAdapters::ResqueAdapter::JobWrapper" nil # Set in the ActiveJob integration else payload["args"] end end end end end
Version data entries
18 entries across 18 versions & 1 rubygems