Sha256: b33f9300d7bd1f606765b63085458a53f6f8a76603a2f447923672133506f132

Contents?: true

Size: 835 Bytes

Versions: 10

Compression:

Stored size: 835 Bytes

Contents

# encoding: utf-8

require 'delayed_job'

module Delayed
  module Plugins
    class TuneMyGcPlugin < Delayed::Plugin
      callbacks do |lifecycle|
        lifecycle.around(:invoke_job) do |job, *args, &block|
          TuneMyGc.processing_started
          block.call(job, *args)
          TuneMyGc.processing_ended
        end
      end
    end
  end
end

module TuneMyGc
  module Spies
    class DelayedJob < TuneMyGc::Spies::Base
      def install
        Delayed::Worker.plugins << Delayed::Plugins::TuneMyGcPlugin
        TuneMyGc.log "hooked: delayed_job"
      end

      def uninstall
        TuneMyGc.uninstall_gc_tracepoint
        TuneMyGc.log "uninstalled GC tracepoint"
        Delayed::Worker.plugins.delete(Delayed::Plugins::TuneMyGcPlugin)
        TuneMyGc.log "uninstalled delayed_job spy"
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
tunemygc-1.0.65 lib/tunemygc/spies/delayed_job.rb
tunemygc-1.0.64 lib/tunemygc/spies/delayed_job.rb
tunemygc-1.0.63 lib/tunemygc/spies/delayed_job.rb
tunemygc-1.0.62 lib/tunemygc/spies/delayed_job.rb
tunemygc-1.0.61 lib/tunemygc/spies/delayed_job.rb
tunemygc-1.0.60 lib/tunemygc/spies/delayed_job.rb
tunemygc-1.0.59 lib/tunemygc/spies/delayed_job.rb
tunemygc-1.0.58 lib/tunemygc/spies/delayed_job.rb
tunemygc-1.0.57 lib/tunemygc/spies/delayed_job.rb
tunemygc-1.0.56 lib/tunemygc/spies/delayed_job.rb