Sha256: a40eabaa3dd33f7ca5f2aeea70a99ebb4787fdcf468734e2bc44af72ec23c2da

Contents?: true

Size: 784 Bytes

Versions: 19

Compression:

Stored size: 784 Bytes

Contents

module RorVsWild
  module Plugin
    class ActiveJob
      def self.setup
        return if @installed
        return unless defined?(::ActiveJob::Base)
        ::ActiveJob::Base.around_perform(&method(:around_perform))
        @installed = true
      end

      def self.around_perform(job, block)
        RorVsWild.agent.measure_job(job.class.name, parameters: job.arguments) do
          begin
            section = RorVsWild::Section.start
            section.command = "#{job.class}#perform"
            section.file, section.line = job.method(:perform).source_location
            section.file = RorVsWild.agent.locator.relative_path(section.file)
            block.call
          ensure
            RorVsWild::Section.stop
          end
        end
      end
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
rorvswild-1.6.2 lib/rorvswild/plugin/active_job.rb
rorvswild-1.6.1 lib/rorvswild/plugin/active_job.rb
rorvswild-1.6.0 lib/rorvswild/plugin/active_job.rb
rorvswild-1.5.17 lib/rorvswild/plugin/active_job.rb
rorvswild-1.5.16 lib/rorvswild/plugin/active_job.rb
rorvswild-1.5.15 lib/rorvswild/plugin/active_job.rb
rorvswild-1.5.14 lib/rorvswild/plugin/active_job.rb
rorvswild-1.5.13 lib/rorvswild/plugin/active_job.rb
rorvswild-1.5.12 lib/rorvswild/plugin/active_job.rb
rorvswild-1.5.11 lib/rorvswild/plugin/active_job.rb
rorvswild-1.5.10 lib/rorvswild/plugin/active_job.rb
rorvswild-1.5.9 lib/rorvswild/plugin/active_job.rb
rorvswild-1.5.8 lib/rorvswild/plugin/active_job.rb
rorvswild-1.5.7 lib/rorvswild/plugin/active_job.rb
rorvswild-1.5.6 lib/rorvswild/plugin/active_job.rb
rorvswild-1.5.5 lib/rorvswild/plugin/active_job.rb
rorvswild-1.5.4 lib/rorvswild/plugin/active_job.rb
rorvswild-1.5.3 lib/rorvswild/plugin/active_job.rb
rorvswild-1.5.2 lib/rorvswild/plugin/active_job.rb