Sha256: fcfa1475863c69762493a8cce7958f2a7f5b2625ffe45aab89edc6847e00b367

Contents?: true

Size: 1.18 KB

Versions: 18

Compression:

Stored size: 1.18 KB

Contents

# require  Sidekiq original launcher
require 'sidekiq/launcher'

# require cron poller
require 'sidekiq/cron/poller'

# For Cron we need to add some methods to Launcher
# so look at the code bellow.
#
# we are creating new cron poller instance and
# adding start and stop commands to launcher
module Sidekiq
  class Launcher
    # Add cron poller to launcher
    attr_reader :cron_poller

    # remember old initialize
    alias_method :old_initialize, :initialize

    # add cron poller and execute normal initialize of Sidekiq launcher
    def initialize(options)
      @cron_poller = Sidekiq::Cron::Poller.new
      old_initialize options
    end

    # remember old run
    alias_method :old_run, :run

    # execute normal run of launcher and run cron poller
    def run
      old_run
      cron_poller.start
    end

    # remember old quiet
    alias_method :old_quiet, :quiet

    # execute normal quiet of launcher and quiet cron poller
    def quiet
      cron_poller.terminate
      old_quiet
    end

    # remember old stop
    alias_method :old_stop, :stop

    # execute normal stop of launcher and stop cron poller
    def stop
      cron_poller.terminate
      old_stop
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
sidekiq-cron-1.1.0 lib/sidekiq/cron/launcher.rb
sidekiq-cron-1.0.4 lib/sidekiq/cron/launcher.rb
sidekiq-cron-1.0.3 lib/sidekiq/cron/launcher.rb
sidekiq-cron-1.0.2 lib/sidekiq/cron/launcher.rb
sidekiq-cron-1.0.1 lib/sidekiq/cron/launcher.rb
sidekiq-cron-1.0.0 lib/sidekiq/cron/launcher.rb
sidekiq-cron-0.6.3 lib/sidekiq/cron/launcher.rb
sidekiq-cron-0.6.2 lib/sidekiq/cron/launcher.rb
sidekiq-cron-0.6.1 lib/sidekiq/cron/launcher.rb
sidekiq-cron-0.6.0 lib/sidekiq/cron/launcher.rb
sidekiq-cron-0.5.1 lib/sidekiq/cron/launcher.rb
sidekiq-cron-0.5.0 lib/sidekiq/cron/launcher.rb
sidekiq-cron-0.4.5 lib/sidekiq/cron/launcher.rb
sidekiq-cron-0.4.4 lib/sidekiq/cron/launcher.rb
sidekiq-cron-0.4.3 lib/sidekiq/cron/launcher.rb
sidekiq-cron-0.4.2 lib/sidekiq/cron/launcher.rb
sidekiq-cron-0.4.1 lib/sidekiq/cron/launcher.rb
sidekiq-cron-0.4.0 lib/sidekiq/cron/launcher.rb