Bio::EnsEMBL::Pipeline::Config BatchQueue
SummaryPackage variablesSynopsisDescriptionGeneral documentationMethods
Toolbar
WebCvsRaw content
Summary
Bio::EnsEMBL::Pipeline::Config::BatchQueue
Package variables
Globals (from "use vars" definitions)
%Config
Included modules
LowCoverageGeneBuildConf
Synopsis
    use Bio::EnsEMBL::Pipeline::Config::BatchQueue;
use Bio::EnsEMBL::Pipeline::Config::BatchQueue qw();
Description
Configuration for pipeline batch queues. Specifies per-analysis
resources and configuration, e.g. so that certain jobs are run
only on certain nodes.
It imports and sets a number of standard global variables into the
calling package. Without arguments all the standard variables are set,
and with a list, only those variables whose names are provided are set.
The module will die if a variable which doesn\'t appear in its
%Config hash is asked to be set.
The variables can also be references to arrays or hashes.
Edit %Config to add or alter variables.
All the variables are in capitals, so that they resemble environment variables.
To run a job only on a certain host, you have to add specific resource-requirements. This
can be useful if you have special memory-requirements, if you like to run the job only on
linux 64bit machines or if you want to run the job only on a specific host group.
The commands bmgroups and lsinfo show you certain host-types / host-groups.
Here are some example resource-statements / sub_args statements:
 sub_args => '-m bc_hosts',                 # only use hosts of host-group 'bc_hosts' (see bmgroup)
sub_args => '-m bc1_1', # only use hosts of host-group 'bc1_1'
resource => '-R "select[type=LINUX64]" ', # use Linux 64 bit machines only resource => '"select[type=LINUX64]" ', # same as above resource => '"select[model=IBMBC2800]" ', # only run on IBMBC2800 hosts resource => 'alpha', # only run on DEC alpha resource => 'linux', # only run on linux machines
Database throtteling :
This runs a job on a linux host, throttles ecs4:3350 to not have more than 300 cative connections, 10 connections per
job in the duration of the first 10 minutes when the job is running (means 30 hosts * 10 connections = 300 connections):
    resource =>'select[linux && ecs4my3350 <=300] rusage[ecs4my3350=10:duration=10]',
Running on 'linux' hosts with not more than 200 active connections for myia64f and myia64g, 10 connections per job to each
db-instance for the first 10 minutes :
    resource =>'select[linux && myia64f <=200 && myia64g <=200] rusage[myia64f=10:myia64g=10:duration=10]',
Running on hosts of model 'IBMBC2800' hosts with not more than 200 active connections to myia64f;
10 connections per job for the first 10 minutes:
   resource =>'select[model==IBMBC2800 && myia64f<=200] rusage[myia64f=10:duration=10]',
Running on hosts of host_group bc_hosts with not more than 200 active connections to myia64f;
10 connections per job for the first 10 minutes:
   resource =>'select[myia64f<=200] rusage[myia64f=10:duration=10]',
sub_args =>'-m bc_hosts'
Methods
import
No description
Code
Methods description
None available.
Methods code
importdescriptionprevnextTop
sub import {
    my ($callpack) = caller(0); # Name of the calling package
my $pack = shift; # Need to move package off @_
# Get list of variables supplied, or else all
my @vars = @_ ? @_ : keys(%Config); return unless @vars; # Predeclare global variables in calling package
eval "package $callpack; use vars qw(" . join(' ', map { '$'.$_ } @vars) . ")"; die $@ if $@; foreach (@vars) { if (defined $Config{ $_ }) { no strict 'refs'; # Exporter does a similar job to the following
# statement, but for function names, not
# scalar variables:
*{"${callpack}::$_"} =\$ Config{ $_ }; } else { die "Error: Config: $_ not known\n"; } } } 1;
}
General documentation
CONTACTTop
ensembl-dev@ebi.ac.uk