Sha256: 13888de5f0fe16147e5149bd5da686a95eef1f11cc3824c507914cc544351797
Contents?: true
Size: 996 Bytes
Versions: 4
Compression:
Stored size: 996 Bytes
Contents
# frozen_string_literal: true module RorVsWild module Plugin module DelayedJob def self.setup return if @installed return unless defined?(Delayed::Plugin) Delayed::Worker.plugins << Class.new(Delayed::Plugin) do callbacks do |lifecycle| lifecycle.around(:invoke_job) do |job, *args, &block| if job.payload_object.class.name == "ActiveJob::QueueAdapters::DelayedJobAdapter::JobWrapper" job_name, job_args = job.payload_object.job_data.values_at("job_class", "arguments") elsif job.payload_object.is_a?(Delayed::PerformableMethod) job_name, job_args = job.name, job.payload_object.args else job_name, job_args = job.name, job.payload_object end RorVsWild.agent.measure_job(job_name, parameters: job_args) { block.call(job) } end end end @installed = true end end end end
Version data entries
4 entries across 4 versions & 1 rubygems