Changeset 228
- Timestamp:
- 07/07/09 15:20:38 (5 months ago)
- Files:
-
- MPI/mpi_iprscan (modified) (6 diffs)
- lib/Process/IPRtiers.pm (modified) (1 diff)
- lib/shadow_AED.pm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
MPI/mpi_iprscan
r225 r228 10 10 use lib "$FindBin::Bin/../lib"; 11 11 use lib "$FindBin::Bin/../perl/lib"; 12 use vars qw($RANK $LOG $EXE );12 use vars qw($RANK $LOG $EXE $TMP); 13 13 use Storable qw(freeze thaw); 14 14 use threads; … … 24 24 } 25 25 26 #build temp directory 27 my $n = umask(); 28 umask(0000); 29 $TMP = "/tmp/iprscanTMP"; 30 mkdir($TMP, 07777) if(! -d $TMP); 31 mkdir("$TMP/tmp", 07777) if(! -d "$TMP/tmp"); 32 umask($n); 33 26 34 #what to do on ^C 27 35 $SIG{'INT'} = sub { … … 61 69 use Storable; 62 70 use FileHandle; 71 use File::Copy; 63 72 use File::Path; 64 73 use Getopt::Long qw(:config pass_through); … … 166 175 my $outfile; 167 176 my @appl; 177 my $chpc; 168 178 my $cli; #always enabled, just here for implementation 169 179 … … 171 181 "o=s" => \$outfile, 172 182 "appl=s" => \@appl, 183 "chpc" => \$chpc, #hidden option used on the CHPC's computer farm 173 184 "cli" => \$cli, #just used to strip off the option 174 185 ); … … 191 202 @appl = split(',', $apps); 192 203 die "ERROR: Cannot determine default applications\n" if(! @appl); 204 } 205 206 #build localized database for each node 207 if($chpc && ! -e "$TMP/iprscan/data/ok"){ 208 my $lock = new File::NFSLock("$TMP/.iprscan_lock", 'EX', 1200, 1205); 209 210 #build local db in /tmp 211 if(! -e "$TMP/iprscan/data/ok" && $lock){ 212 #remove old failed directories 213 if(-d "$TMP/iprscan"){ 214 move("$TMP/iprscan", "$TMP/old"); 215 File::Path::rmtree("$TMP/old"); 216 } 217 if(-d "$TMP/test"){ 218 move("$TMP/test", "$TMP/old"); 219 File::Path::rmtree("$TMP/old"); 220 } 221 222 my $free = `df /tmp | grep -v \"Filesystem\" | awk \'{print \$4}\'`; 223 if($free > 16000000){ 224 my @tar_db = split (":", $ENV{'TAR_DB'}); 225 @tar_db = grep {-d $_} @tar_db; 226 227 if (@tar_db){ 228 my $db = $tar_db[int(rand(@tar_db))]; 229 230 my @files = ('latest_match.tar.gz', 231 'latest_pthr.tar.gz', 232 'latest_nopthr.tar.gz'); 233 234 if(-e "$db/$files[0]" && 235 -e "$db/$files[1]" && 236 -e "$db/$files[1]" 237 ){ 238 239 my $fail; 240 foreach my $file (@files){ 241 last if($fail); 242 mkdir("$TMP/test") unless(-d "$TMP/test"); 243 copy("$db/$file", "$TMP/test"); 244 system("cd $TMP/test\n". 245 "tar -zxvmf $file" 246 ); 247 248 $fail = $?; 249 250 unlink("$TMP/test/$file"); 251 } 252 253 if($fail){ 254 File::Path::rmtree("$TMP/test"); 255 256 } 257 else{ 258 move("$TMP/test/iprscan", "$TMP/iprscan"); 259 File::Path::rmtree("$TMP/test"); 260 system("index_data.pl -p $TMP/iprscan/data -inx -bin"); 261 system("touch $TMP/iprscan/data/ok"); 262 } 263 } 264 } 265 } 266 } 267 268 $lock->unlock if($lock); 193 269 } 194 270 lib/Process/IPRtiers.pm
r221 r228 167 167 168 168 return if ($self->terminated || $self->failed); 169 return if ($self->_level_started && ! $self->_level_finished);169 #return if ($self->_level_started && ! $self->_level_finished); 170 170 171 171 $self->_next_level if ($self->_level_finished); lib/shadow_AED.pm
r183 r228 74 74 3 => 0, 75 75 ); 76 76 77 foreach my $i (@b_seq){ 77 78 $index{$i}++;
