13 This is another example pipeline built around FailureTest.pm RunnableDB. It consists of two analyses:
15 Analysis_1: JobFactory.pm is used to create an array of jobs -
17 these jobs are sent down the branch #2 into the second analysis
19 Analysis_2: FailureTest.pm in
"memory grab" mode may overrun the current resource
's memory limit and be killed by the LSF
23 See the NOTICE file distributed with this work for additional information
24 regarding copyright ownership.
26 Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
27 You may obtain a copy of the License at
29 http://www.apache.org/licenses/LICENSE-2.0
31 Unless required by applicable law or agreed to in writing, software distributed under the License
32 is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
33 See the License for the specific language governing permissions and limitations under the License.
37 Please subscribe to the Hive mailing list: http://listserver.ebi.ac.uk/mailman/listinfo/ehive-users to discuss Hive-related questions or to be notified of our updates
42 package Bio::EnsEMBL::Hive::Examples::FailureTest::PipeConfig::MemlimitTest_conf;
50 sub resource_classes {
53 %{$self->SUPER::resource_classes}, # inherit 'default' from the parent class
55 'default' => {'LSF
' => '-C0 -M100 -R
"select[mem>100] rusage[mem=100]"' }, # to make sure it fails similarly on both farms
56 '200Mb_job
' => {'LSF
' => '-C0 -M200 -R
"select[mem>200] rusage[mem=200]"' },
57 '400Mb_job
' => {'LSF
' => '-C0 -M400 -R
"select[mem>400] rusage[mem=400]"' },
58 '1Gb_job
' => {'LSF
' => '-C0 -M1000 -R
"select[mem>1000] rusage[mem=1000]"' },
63 sub pipeline_analyses {
66 { -logic_name => 'generate_jobs
',
68 -meadow_type => 'LOCAL
',
70 'column_names
' => [ 'grab_mln
' ],
73 { 'inputlist
' => [ 0.6 , 0.8 , 1.0 , 1.2 , 1.4 , 1.6 , 1.8 , 2.0, 2.5, 3.0, 5.0, 7.0, 10 ], },
77 2 => [ 'failure_test
' ],
81 { -logic_name => 'failure_test
',
86 -rc_name => 'default', # pick a valid value from resource_classes() section