The following module was proposed for inclusion in the Module List:
modid: Schedule::Depend DSLIP: bdpOp description: Parallel execution with dependencies. userid: LEMBARK (Steven Lembark) chapterid: 4 (Operating_System_Interfaces) communities: similar: pmake rationale: This is a make-like utility. It allows jobs to wait for execution based on dependencies with other jobs. It also allows re-running the scheduled jobs with an option to skip previously completed ones. Unlike make the synatx is simpler, with the command expansion done via overloading an unalias method. This reduces the "makefile" to a simple list of aliases (e.g., foo = shell command) and dependencies (e.g., foo bar : bletch blort). There is also support for limiting the number of concurrent jobs, prioritizing the runnable jobs w/in the number allowed and adding a "cleanup" method called after job completion. The OO interface accepts a scalar for the queue (vs. an external Makefile) which simplifies automated generation of the queue. Combined with overloading of the unalis method this allows simple generation of queues that process jobs in fairly complex ways. This is more of a scheduler than "job controller" since its main purpose is simply to fork/exec the unaliased command string. A sufficiently robust overloading of the "runnable jobs" method could actually update the queue dynamically to account for new work arriving; a serious overload of the unalis method would be able to run sub-queues with dependencies. enteredby: LEMBARK (Steven Lembark) enteredon: Tue Feb 26 19:43:27 2002 GMT The resulting entry would be: Schedule:: ::Depend bdpOp Parallel execution with dependencies. LEMBARK Thanks for registering, The Pause Team PS: The following links are only valid for module list maintainers: Registration form with editing capabilities: https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=8b000000_458eaef8c92b3b04&SUBMIT_pause99_add_mod_preview=1 Immediate (one click) registration: https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=8b000000_458eaef8c92b3b04&SUBMIT_pause99_add_mod_insertit=1