URIS
http://codeforpeople.com/lib/ruby/slave/
http://rubyforge.org/frs/?group_id=1024&release_id=5631
SYNOPSIS
the Slave class forks a process and starts a drb server in the child
using
any object as the server. the process is detached so it is not
required
(nor possible) to wait on the child pid. a Heartbeat is set up
between the
parent and child processes so that the child will exit of the parent
exits
for any reason - preventing orphaned slaves from running
indefinitely. the
purpose of Slaves is to be able to easily set up a collection of
objects
communicating via drb protocols instead of having to use IPC.
typical usage:
obj = AnyClass::new
#
slave = Slave::new obj # object becomes drb server in
another
# process
p slave.object # handle on drb object
p slave.uri # uri of the drb object
p slave.socket # unix domain socket path for drb
object
p slave.psname # title shown in ps/top
obj = slave.object
#
p obj.method # call a method on drb server in
another
# process
other usage:
set the pulse_rate used for the Heartbeat
slave = Slave::new MyClass::new, 'pulse_rate' => 10
same
Slave::pulse_rate = 10
slave = Slave::new MyClass::new
same
ENV['SLAVE_PULSE_RATE'] = 10
slave = Slave::new MyClass::new
slaves may be configured via the environment, the Slave class, or via
the
ctor
for object itself. attributes which may be configured include
- socket_creation_attempts
- pulse_rate
- psname
- debug
INSTALL
gem install slave
enjoy.
-a
suffering increases your inner strength. also, the wishing for
suffering
makes the suffering disappear.
- h.h. the 14th dali lama