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
.logger ⇒ Object
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 |