Module: WindUp

Defined in:
lib/wind_up/routers.rb,
lib/wind_up.rb,
lib/wind_up/calls.rb,
lib/wind_up/railtie.rb,
lib/wind_up/version.rb,
lib/wind_up/exceptions.rb,
lib/wind_up/queue_proxy.rb,
lib/wind_up/celluloid_ext.rb,
lib/wind_up/queue_manager.rb

Overview

Manages a queue of workers Accumulates/stores messages and supervises a group of workers WindUp Queues are almost drop-in replacements for Celluloid pools.

“‘ruby q = AnyCelluloidClass.queue size: 3 # size defaults to number of cores q.any_method # perform synchronously q.async.long_running_method # perform asynchronously q.future.i_want_this_back # perform as a future “`

Queues use two separate proxies to control Queue commands vs QueueManager commands. “‘ruby # .queue returns the proxy for the queue (i.e. workers) q = AnyCelluloidClass.queue # => WindUp::QueueProxy(AnyCelluloidClass)

# Get the proxy for the manager from the QueueProxy q.__manager__ # => Celluloid::ActorProxy(WindUp::QueueManager)

# Return to the queue from the manager q.__manager__.queue # WindUp::QueueProxy(AnyCelluloidClass) “‘

You may store these Queue object in the registry as any actor “‘ruby Celluloid::Actor = q “`

Defined Under Namespace

Modules: CelluloidExts, Router, Routers Classes: DelayedTerminationRequest, ForwardedCall, MissingWorkerClass, QueueManager, QueueProxy, Railtie

Constant Summary collapse

VERSION =
"0.0.2"

Class Method Summary collapse

Class Method Details

.loggerObject



11
12
13
# File 'lib/wind_up.rb', line 11

def self.logger
  Celluloid.logger
end

.logger=(logger) ⇒ Object



15
16
17
# File 'lib/wind_up.rb', line 15

def self.logger=(logger)
  Celluloid.logger = logger
end