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