2010-09-23 14 views

Respuesta

11

Varios módulos Perl existentes, incluidos Parallel::ForkManager y Forks::Super (de los cuales soy el autor) ofrecen esta funcionalidad. También hay un módulo LSF::JobManager del que no conozco nada más.


paralelo :: ForkManager esqueleto

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; 
} 


Y en Forks :: Súper

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


+0

esto es genial! muchas gracias – Gordon

+0

Después de todos estos años de usar LSF, acabo de enterarme de 'bsub -K'. ¡Gracias! –

Cuestiones relacionadas