Sha256: b7bc2a72cdeb6afd970c562faefcc1459b3b4bb4850b7d00a23093a987edd5b5

Contents?: true

Size: 629 Bytes

Versions: 1

Compression:

Stored size: 629 Bytes

Contents

require_relative 'core_ext'
require_relative 'processor'

module Upperkut
  class Manager

    attr_accessor :worker, :redis
    attr_reader :stopped

    def initialize(opts = {})
      self.worker = opts.fetch(:worker).constantize
      self.redis  = worker.setup.redis
      @concurrency = opts.fetch(:concurrency, 25)
      @stopped = false
      @processors = []
    end

    def run
      @concurrency.times do
        @processors << Processor.new(self).run
      end
    end

    def stop
      @stopped = true
    end

    def kill
      @processors.each do |processor|
        processor.kill
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
upperkut-0.1.2 lib/upperkut/manager.rb