- Timestamp:
- Dec 6, 2012, 6:32:19 PM (14 years ago)
- Location:
- branches/czw_branch/20120906/pstamp/scripts
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
pstamp_checkdependent.pl (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/czw_branch/20120906/pstamp/scripts
- Property svn:mergeinfo changed
/branches/eam_branches/ipp-20120905/pstamp/scripts (added) merged: 34428,34466,34567,34575,34735,34747
- Property svn:mergeinfo changed
-
branches/czw_branch/20120906/pstamp/scripts/pstamp_checkdependent.pl
r34238 r34772 137 137 print "skipping $command\n"; 138 138 } 139 } elsif (($it->{state} eq 'cleaned') or ($it->{state} eq ' update')) {139 } elsif (($it->{state} eq 'cleaned') or ($it->{state} eq 'goto_cleaned') or ($it->{state} eq 'update')) { 140 140 # For warp and diff stages we need to call the 'queue_update' subroutines even if the 141 141 # data_state is update in order to check the state of inputs in earlier stages in the pipeline … … 260 260 # caller will fault the jobs 261 261 return $error_code; 262 } elsif ($chip->{state} eq 'goto_cleaned') { 263 264 # we don't need to check for full data_state 265 # if ($chip->{data_state} eq 'full') { 266 { 267 # cleanup must not be running. Set state to update. If this chip is not 'full' it will be 268 # set to be updated the next time this script is invoked 269 # XXX: In the very rare case that this chip run is actually in the running cleanup pantasks 270 # queue things may get confused but we can live with that 271 my $command = "$chiptool -updaterun -set_state update -chip_id $chip_id"; 272 $command .= " -set_label $rlabel" if $rlabel; 273 274 if (!$no_update) { 275 my ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) = 276 run(command => $command, verbose => $verbose); 277 unless ($success) { 278 my_die("failed to change ${stage}Run $stage_id $component from goto_cleaned to update", $PS_EXIT_UNKNOWN_ERROR); 279 } 280 } else { 281 print "skipping $command\n"; 282 } 283 $queued_update = 1; 284 } 262 285 } elsif (($chip->{data_state} ne 'update') and ($chip->{data_state} ne 'full')) { 263 286 … … 320 343 } 321 344 } 345 346 my $tess_id = $metadata->{tess_id}; 347 if ($tess_id eq 'RINGS.V0') { 348 # we have stopped updating data from RINGS.V0 349 return $PSTAMP_GONE 350 } 322 351 if (($state =~ /error/) or ($state =~ /purged/) or ($state =~ /scrubbed/) or ($state eq 'drop') or 323 352 ($data_state =~ /error/) or ($data_state =~ /purged/) or ($data_state =~ /scrubbed/) or ($data_state eq 'drop')) { … … 343 372 344 373 my $skycell = $metadata; 374 375 # if ($skycell->{state} eq 'goto_cleaned' and $skycell->{data_state} eq 'full') { 376 if ($skycell->{state} eq 'goto_cleaned') { 377 # cleanup has been queued, but hasn't finished, probably due to an error or cleanup is not running. 378 # It's "safe" to set the state to update. If the skycell is not full it will be set to update 379 # the next time this task runs 380 my $command = "$warptool -updaterun -set_state update -warp_id $warp_id"; 381 $command .= " -set_label $rlabel" if $rlabel; 382 383 if (!$no_update) { 384 my ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) = 385 run(command => $command, verbose => $verbose); 386 unless ($success) { 387 my_die("failed to change state of ${stage}Run $stage_id from goto_cleaned to update", $PS_EXIT_UNKNOWN_ERROR); 388 } 389 } else { 390 print "skipping $command\n"; 391 } 392 return 0; 393 } 345 394 346 395 # get the list of input chips for this skycell … … 428 477 my $skycell = $metadata; 429 478 my $skycell_id = $skycell->{skycell_id}; 479 480 # if ($metadata->{state} eq 'goto_cleaned' and $metadata->{data_state} eq 'full') { 481 if ($metadata->{state} eq 'goto_cleaned') { 482 # cleanup must not be running. Set state to update. If the skycell is not 'full' it will be 483 # set to be updated the next time this script is invoked 484 print "changing state of diffRun $diff_id from goto_cleaned to update. skycell $skycell_id is full\n"; 485 my $command = "$difftool -updaterun -set_state update -diff_id $diff_id"; 486 $command .= " -set_label $rlabel" if $rlabel; 487 488 if (!$no_update) { 489 my ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) = 490 run(command => $command, verbose => $verbose); 491 unless ($success) { 492 my_die("failed to queue ${stage}Run $stage_id $component for update", $PS_EXIT_UNKNOWN_ERROR); 493 } 494 } else { 495 print "skipping $command\n"; 496 } 497 return 0; 498 } 430 499 431 500 if ($diff_mode == $IPP_DIFF_MODE_WARP_STACK ) {
Note:
See TracChangeset
for help on using the changeset viewer.
