Google Spreadsheet Distributed Agent System

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View

Hi Perl Module Developers,
I have developed a fairly nice pipeline at my work that uses a central
Google Spreadsheet as a control panel to allow various agents running in
parallel across multiple servers to discover what jobs need to be done,
and run any that need to be run. It uses a basic subsumption
architecture. I have the code for communicating with the google
spreadsheet (using Net::Google::Spreadsheets, which is very cool! thanks
Nobuo Danjou), determining if a job is valid on the spreadsheet, whether
it needs to be done, whether it failed or completed successfully, and
allowing the agent to update cells on the spreadsheet for the job into a
single module. It also incorporates basic (very Linux specific) methods
for allowing an agent to quit if specific processes or agents are
already running, or if there are already too many of the given agents
instantiated. I would like to ask if this would be a useful CPAN module?

I initially submitted a request for comment to PerlMonks about this
module at

I also posted code for the module on PerMonks at:

I would appreciate any feedback that any of you could provide.  One
thing that I would greatly appreciate feedback on is the namespace.
I currently have it set to a namespace related to the institution at
Duke University where I work, but that could very easily change.  If the
module would be useful, should it be better placed within the
Net::Google::Spreadsheets namespace?  I also emailed Nobuo Danjou about
this question, but have not received a reply.  If not, then could you
provide pointers about a better namespace?

Thanks alot,
Darin London

Re: Google Spreadsheet Distributed Agent System

In order to facilitate a better discussion, I have placed a distribution at

This was generated with module-starter for Module::Build.  It has tests
for many features, although you need to configure a google_spreadsheet
to use for the tests (see the README file for details).  The README file
also contains a number of SCENARIOS for how this module might be used.

I hope that this makes it easier to get an idea for what this module does.

Thanks for any and all advice, pointers, critique that you can provide.

Darin London

Darin London wrote:
Quoted text here. Click to load it

Site Timeline