Sha256: 39708602c8fa38258c2aca24a86cc241f0cebe58d8299c54a58f2010824c89e4

Contents?: true

Size: 633 Bytes

Versions: 1

Compression:

Stored size: 633 Bytes

Contents

require 'thread'

require 'queue_to_the_future/coordinator'
require 'queue_to_the_future/worker'
require 'queue_to_the_future/job'

module QueueToTheFuture
  @@maximum_workers = 15
  
  def self.maximum_workers
    @@maximum_workers
  end
  
  def self.maximum_workers=(number)
    raise StandardError.new("Bad workforce size: #{number}. Must be at least 1.") unless (number = number.to_i) >= 1
    @@maximum_workers = number
  end
  
  def self.schedule(job)
    Coordinator.instance.schedule(job)
  end
end

module Kernel
  def Future(*args, &block)
    QueueToTheFuture.schedule(QueueToTheFuture::Job.new(*args, &block))
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
queue_to_the_future-0.1.0 lib/queue_to_the_future.rb