http://www.perlmonks.org?node_id=546996


in reply to Project suggestions

Simply because it's topical for me so I'm thinking about it, but does touch on a number of different areas, yet is fairly self contained, you could think about writing a build management system. We have a system (written in C++) that accepts email instructions to perform some particular task. The task may be tagged (in the email) as repeating at some interval, or as starting at some specified time (setting up a nightly build for example).

On my to do list is to convert this C++ app to Perl and add facilities for distributing tasks over multiple computers. My idea is that the current email address remains and is used as it is currently. However it gets polled by all of the build machines. When a build machine picks up an email, it pulls the tasks out and sends them off to a task list email address. Any machine that is available to do some work then picks up the highest priority task from the list and gets to work.

Obviously you don't have to use an email system to manage the task list, although that is a pretty light weight way to do it. You can simulate multiple computers by simply running multiple instances of the script on one computer. You can write a small script to simulate multiple users requesting tasks at random intervals and with random priorities. Plenty of scope to have fun. :)

I'm not suggesting this as a "You should write this for me" task, but simply because it seems to fill most of your requirements and could be useful to the community in general if you get that far with it and are happy to release it.


DWIM is Perl's answer to Gödel