2010-09-23 3 views

Répondre

11

Plusieurs modules Perl existants, dont Parallel::ForkManager et Forks::Super (dont je suis l'auteur) offrent cette fonctionnalité. Il y a aussi un module LSF::JobManager que je ne connais pas d'autre.


parallèle :: squelette ForkManager

use Parallel::ForkManager; 
$pm = new Parallel::ForkManager(20); 
foreach $job (@jobsToRun) { 
    $pm->start and next; 
    system("bsub -K $job"); # bsub -K job to wait until job finishes, right? 
    $pm->finish; 
} 


Et à Forks :: super

use Forks::Super MAX_PROC => 20; 
foreach $job (@jobsToRun) { 
    fork { cmd => "bsub -K $job" }; 
} 


+0

c'est génial! merci beaucoup – Gordon

+0

Après toutes ces années d'utilisation de LSF, je viens d'apprendre à propos de 'bsub -K'. Merci! –

Questions connexes