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