1
0
Fork 0
mirror of https://github.com/mperham/sidekiq.git synced 2022-11-09 13:52:34 -05:00
mperham--sidekiq/lib/sidekiq/launcher.rb

31 lines
675 B
Ruby
Raw Normal View History

require 'sidekiq/util'
require 'sidekiq/manager'
require 'sidekiq/scheduled'
module Sidekiq
class Launcher
attr_reader :manager, :poller, :options
def initialize(options)
@options = options
@manager = Sidekiq::Manager.new(options)
@poller = Sidekiq::Scheduled::Poller.new
end
def run
manager.async.start
poller.async.poll(true)
end
def stop
poller.async.terminate if poller.alive?
manager.async.stop(:shutdown => true, :timeout => options[:timeout])
manager.wait(:shutdown)
end
def procline(tag)
$0 = manager.procline(tag)
manager.after(5) { procline(tag) }
end
end
end