Changes for version 0.06 - 2005-03-20

  • The D::P::Client sends a /worker command when it first connects. This allows for initialization tasks to take place on the server side. Notably, the D::P::Master now only considers itself 'ready to run' when all the clients have sent their /worker command, not only when they have connected. D::P::RemoteWorker now has the id() attribute from its Client couterpart (sent through the /worker command), and exposes an is_ready() method, which the D::P::Master queries to know whether it is 'ready to run'. D::P::Master::workers() now returns the workers ordered by id(). t/10-postpone.t should no longer block like it used to do sometimes. Other tests have been improved, notably t/11-time.t and t/09-session.t which sometimes failed for no obvious reason (was due to the unpredictable order of the D::P::Master::workers list). New INFO, WARN and ERROR message output function to complete the existing DEBUG. D::P::Master::run() now gets the results from D::P::Master::result() instead of getting them directly from its D::P::MasterWorker (this allows for overloading the way results are filtered).

Modules

a framework for running a process simultaneously on several machines.
base class for all workers, both local and remote
a class to run a client in a Distributed::Process cluster.
a base class for handling a network connection and the commands received from it.
a class to conduct the chorus of D::P::Workers, under a D::P::Server.
a class to run the server of a Distributed::Process cluster.

Provides

in lib/Distributed/Process/LocalWorker.pm
in lib/Distributed/Process/MasterWorker.pm
in lib/Distributed/Process/RemoteWorker.pm
in lib/Distributed/Process/Worker.pm