2010-09-23 3 views

Antwort

11

Mehrere vorhandene Perl-Module, einschließlich Parallel::ForkManager und Forks::Super (von denen ich der Autor bin) bieten diese Funktionalität an.

Es gibt auch ein LSF::JobManager Modul, über das ich nichts anderes weiß.


Parallel :: ForkManager Skelett

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


Und in Forks :: Super-

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


+0

das ist großartig! vielen dank – Gordon

+0

Nach all den Jahren, in denen ich LSF benutzt habe, habe ich gerade über 'bsub -K 'gelernt. Vielen Dank! –