Sha256: 19047c78b9845a84df55ed3b5afd48a8a188371d2971c7e959aac9e00dac8330

Contents?: true

Size: 1.26 KB

Versions: 3

Compression:

Stored size: 1.26 KB

Contents

module Sidetiq
  class Supervisor < Celluloid::Supervision::Container
    supervise type: Sidetiq::Actor::Clock, as: :sidetiq_clock

    if Sidekiq.server?
      if handler_pool_size = Sidetiq.config.handler_pool_size
        pool Sidetiq::Actor::Handler,
             as: :sidetiq_handler,
             size: handler_pool_size
      else
        # Use Celluloid's CPU-based default.
        pool Sidetiq::Actor::Handler,
             as: :sidetiq_handler
      end
    end

    class << self
      include Logging

      def clock
        run! if Celluloid::Actor[:sidetiq_clock].nil?
        Celluloid::Actor[:sidetiq_clock]
      end

      def handler
        run! if Celluloid::Actor[:sidetiq_handler].nil?
        Celluloid::Actor[:sidetiq_handler]
      end

      def run!
        motd
        info "Sidetiq::Supervisor start"
        super
      end

      def run
        raise "Sidetiq::Supervisor should not be run in foreground."
      end

      private

      def motd
        info "Sidetiq v#{VERSION::STRING} - Copyright (c) 2012-2013, Tobias Svensson <tob@tobiassvensson.co.uk>"
        info "Sidetiq is covered by the 3-clause BSD license."
        info "See LICENSE and http://opensource.org/licenses/BSD-3-Clause for licensing details."
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sidetiq-0.7.2 lib/sidetiq/supervisor.rb
sidetiq-0.7.1 lib/sidetiq/supervisor.rb
sidetiq-0.7.0 lib/sidetiq/supervisor.rb