NAME
LSF::JobManager - submit and wait for a set of LSF Jobs
SYNOPSIS
use LSF RaiseError => 0, PrintError => 1, PrintOutput => 0;
use LSF::JobManager;
my $m = LSF::JobManager->new(-q=>'small');
my $job = $m->submit("echo hello");
$m->submit("echo world");
for my $job ($m->jobs){
$job->top;
}
$m->wait_all_children;
print "All children have completed!\n";
for my $job ($m->jobs){
print STDERR "$job exited non zero\n" if $job->history->exit_status != 0;
}
$m->clear; # clear out the job manager to reuse.
DESCRIPTION
LSF::JobManager
provides a simple mechanism to submit a set of command lines to the LSF Batch system and then wait for them all to finish in a blocking (efficient) manner.
INHERITS FROM
LSF
CONSTRUCTOR
- new ( [ ARGS ] )
-
$manager = LSF::JobManager->new(-q=>'small' ,-m=>'mymachine');
Creates a new
LSF::JobManager
object.Any parameters are used as defaults passed to the submit method.
METHODS
- $manager->submit( [ [ ARGS ] ], [CMD] )
-
Submits a command line to LSF. This is a wrapper around the LSF::Job->submit call. The required argument is the command line to submit. Optional arguments override the defaults given to
new
. The submitted LSF::Job object is returned on success, otherwise undef is returned, $? and $@ set. SeeLSF::Job
- $manager->wait_all_children()
-
Waits for all previously submitted LSF Jobs to complete in a blocking manner
- $manager->params( [ [ PARAMS ] ] )
-
Sets the default submission parameters.
- $manager->jobs()
-
Returns an array of the submitted LSF::Job objects.
- $manager->clear()
-
Empties the job array so that the manager can be reused. Returns an array of the jobs removed.
HISTORY
The LSF::Batch module on cpan didn't compile easily on all platforms i wanted. The LSF API didn't seem very perlish either. As a quick fix I knocked these modules together which wrap the LSF command line interface. It was enough for my simple usage. Hopefully they work in a much more perly manner.
SEE ALSO
AUTHOR
Mark Southern (mark_southern@merck.com)
COPYRIGHT
Copyright (c) 2002, Merck & Co. Inc. All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the terms of the Perl Artistic License (see http://www.perl.com/perl/misc/Artistic.html)
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 214:
You forgot a '=back' before '=head1'