Sha256: 92b1b67bcceaa3a19da017f4bb1068528b40f43a7a59196e1469b9154019a99a

Contents?: true

Size: 871 Bytes

Versions: 3

Compression:

Stored size: 871 Bytes

Contents

require 'thread'
require 'monitor'
require 'set'

require 'workers/version'
require 'workers/helpers'
require 'workers/worker'
require 'workers/pool'
require 'workers/event'
require 'workers/log_proxy'
require 'workers/scheduler'
require 'workers/timer'
require 'workers/periodic_timer'
require 'workers/task'
require 'workers/task_group'

module Workers
  def self.pool
    return @pool ||= Workers::Pool.new
  end

  def self.pool=(val)
    @pool.dispose if @pool
    @pool = val
  end

  def self.scheduler
    return @scheduler ||= Workers::Scheduler.new
  end

  def self.scheduler=(val)
    @scheduler.dispose if @scheduler
    @scheduler = val
  end

  def self.map(inputs, options = {}, &block)
    return Workers::TaskGroup.new.map(inputs, options) do |i|
      block.call(i)
    end
  end
end

# Force initialization of defaults.
Workers.pool
Workers.scheduler

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
workers-0.2.2 lib/workers.rb
workers-0.2.1 lib/workers.rb
workers-0.2.0 lib/workers.rb