Bio::EnsEMBL::Pipeline::Config BatchQueue
SummaryPackage variablesSynopsisDescriptionGeneral documentationMethods
WebCvsRaw content
Package variables
No package variables defined.
    use Bio::EnsEMBL::Pipeline::Config::BatchQueue;
use Bio::EnsEMBL::Pipeline::Config::BatchQueue qw();
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 => 'select[type==X86_64]', # use Linux 64 bit machines only resource => 'select[model==IBMBC2800] ', # only run on IBMBC2800 hosts resource => 'alpha', # only run on DEC alpha resource => 'linux', # run on any machine capable of running 32-bit X86 Linux apps 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'
No description
Methods description
None available.
Methods code
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