Sha256: e0497cbbff831bc16530b9fb047f1891d882b1b757da1de8061a49e42d0c97fc

Contents?: true

Size: 1.03 KB

Versions: 16

Compression:

Stored size: 1.03 KB

Contents

# frozen_string_literal: true

module Appsignal
  module Integrations
    # @api private
    module QuePlugin
      def _run(*)
        transaction =
          Appsignal::Transaction.create(Appsignal::Transaction::BACKGROUND_JOB)

        begin
          Appsignal.instrument("perform_job.que") { super }
        rescue Exception => error # rubocop:disable Lint/RescueException
          transaction.set_error(error)
          raise error
        ensure
          local_attrs = respond_to?(:que_attrs) ? que_attrs : attrs
          transaction.set_action_if_nil("#{local_attrs[:job_class]}#run")
          transaction.add_params_if_nil(local_attrs[:args])
          transaction.add_tags(
            "id" => local_attrs[:job_id] || local_attrs[:id],
            "queue" => local_attrs[:queue],
            "run_at" => local_attrs[:run_at].to_s,
            "priority" => local_attrs[:priority],
            "attempts" => local_attrs[:error_count].to_i
          )
          Appsignal::Transaction.complete_current!
        end
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
appsignal-4.0.5-java lib/appsignal/integrations/que.rb
appsignal-4.0.5 lib/appsignal/integrations/que.rb
appsignal-4.0.4-java lib/appsignal/integrations/que.rb
appsignal-4.0.4 lib/appsignal/integrations/que.rb
appsignal-4.0.3-java lib/appsignal/integrations/que.rb
appsignal-4.0.3 lib/appsignal/integrations/que.rb
appsignal-4.0.2-java lib/appsignal/integrations/que.rb
appsignal-4.0.2 lib/appsignal/integrations/que.rb
appsignal-4.0.1-java lib/appsignal/integrations/que.rb
appsignal-4.0.1 lib/appsignal/integrations/que.rb
appsignal-4.0.0-java lib/appsignal/integrations/que.rb
appsignal-4.0.0 lib/appsignal/integrations/que.rb
appsignal-4.0.0.beta.2-java lib/appsignal/integrations/que.rb
appsignal-4.0.0.beta.2 lib/appsignal/integrations/que.rb
appsignal-4.0.0.beta.1-java lib/appsignal/integrations/que.rb
appsignal-4.0.0.beta.1 lib/appsignal/integrations/que.rb