lib/rorvswild/plugin/delayed_job.rb in rorvswild-1.6.4 vs lib/rorvswild/plugin/delayed_job.rb in rorvswild-1.6.5

- old
+ new

@@ -1,16 +1,18 @@ module RorVsWild module Plugin module DelayedJob def self.setup return if @installed - return unless defined?(Delayed::Worker) - Delayed::Worker.lifecycle.around(:invoke_job, &method(:around_perform)) + return unless defined?(Delayed::Plugin) + Delayed::Worker.plugins << Class.new(Delayed::Plugin) do + callbacks do |lifecycle| + lifecycle.around(:invoke_job) do |job, *args, &block| + RorVsWild.agent.measure_job(job.name, parameters: job.payload_object) { block.call(job) } + end + end + end @installed = true - end - - def self.around_perform(job, &block) - RorVsWild.agent.measure_job(job.name, parameters: job.payload_object) { block.call(job) } end end end end