Sha256: 5f04c48b629d3ff126eb5f8ff825be7bed14abb33eec897ea7e892dc1341c566
Contents?: true
Size: 868 Bytes
Versions: 4
Compression:
Stored size: 868 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.commands << "#{job.class}#perform" section.file, section.line = job.method(:perform).source_location section.file = RorVsWild.agent.locator.relative_path(section.file) block.call rescue Exception => ex job.rescue_with_handler(ex) or raise ensure RorVsWild::Section.stop end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems