Skip to content

Instantly share code, notes, and snippets.

@lwe
Created November 20, 2012 15:33
Show Gist options
  • Save lwe/4118637 to your computer and use it in GitHub Desktop.
Save lwe/4118637 to your computer and use it in GitHub Desktop.

Revisions

  1. lwe revised this gist Nov 20, 2012. 1 changed file with 7 additions and 9 deletions.
    16 changes: 7 additions & 9 deletions sidekiq_service.rb
    Original file line number Diff line number Diff line change
    @@ -8,20 +8,18 @@ class SidekiqService

    def initialize(options = {})
    @options = options
    Sidekiq.logger.level = Logger::DEBUG
    end

    def start
    @manager = Sidekiq::Manager.new(options.reverse_merge(concurrency: 50, queues: %w{default}))
    @poller = Sidekiq::Scheduled::Poller.new
    end

    @manager.async.start
    @poller.async.poll(true)
    def start
    manager.async.start
    poller.async.poll(true)
    end

    def stop
    @poller.async.terminate if @poller.alive?
    @manager.async.stop(shutdown: true, timeout: options[:timeout] || 100)
    @manager.wait(:shutdown)
    poller.async.terminate if poller.alive?
    manager.async.stop(shutdown: true, timeout: options[:timeout] || 100)
    manager.wait(:shutdown)
    end
    end
  2. lwe created this gist Nov 20, 2012.
    27 changes: 27 additions & 0 deletions sidekiq_service.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,27 @@
    require 'sidekiq'
    require 'sidekiq/manager'
    require 'sidekiq/scheduled'

    class SidekiqService

    attr_reader :options, :manager

    def initialize(options = {})
    @options = options
    Sidekiq.logger.level = Logger::DEBUG
    end

    def start
    @manager = Sidekiq::Manager.new(options.reverse_merge(concurrency: 50, queues: %w{default}))
    @poller = Sidekiq::Scheduled::Poller.new

    @manager.async.start
    @poller.async.poll(true)
    end

    def stop
    @poller.async.terminate if @poller.alive?
    @manager.async.stop(shutdown: true, timeout: options[:timeout] || 100)
    @manager.wait(:shutdown)
    end
    end