Changeset 29258
- Timestamp:
- Sep 29, 2010, 10:57:34 AM (16 years ago)
- File:
-
- 1 edited
-
trunk/ippToPsps/perl/checkOdmStatus.pl (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippToPsps/perl/checkOdmStatus.pl
r29196 r29258 90 90 91 91 print "\n"; 92 printf("+----------------------+--------------+--------------+----------------+-------------- -+---------+----------+\n");93 printf("| Timestamp | Batch | Exposure ID | Loaded to ODM? | Merge worthy? | Merged? | Deleted? |\n");94 printf("+----------------------+--------------+--------------+----------------+-------------- -+---------+----------+\n");92 printf("+----------------------+--------------+--------------+----------------+--------------+--------------+---------+----------+\n"); 93 printf("| Timestamp | Batch | Exposure ID | Loaded to ODM? | Load failed? |Merge worthy? | Merged? | Deleted? |\n"); 94 printf("+----------------------+--------------+--------------+----------------+--------------+--------------+---------+----------+\n"); 95 95 96 96 # loop round batches … … 101 101 my $numDeleted = 0; 102 102 foreach $batch ( @{$batches} ) { 103 my ($timestamp, $type, $expId, $batchId, $surveyType, $deleted, $dvoDb, $processed, $onDatastore, $loadedToOdm, $ mergeWorthy, $merged) = @{$batch};103 my ($timestamp, $type, $expId, $batchId, $surveyType, $deleted, $dvoDb, $processed, $onDatastore, $loadedToOdm, $loadFailed, $mergeWorthy, $merged) = @{$batch}; 104 104 105 105 if (!$onDatastore) {next;} … … 125 125 $numBatchesToCheck++; 126 126 127 128 127 # if not merged then update by polling ODM for status 129 if (!$merged ) {130 131 if (checkODM($batch->getName(), \$loadedToOdm, \$ mergeWorthy, \$merged)) {$numChecked++;}128 if (!$merged && !$loadFailed) { 129 130 if (checkODM($batch->getName(), \$loadedToOdm, \$loadFailed, \$mergeWorthy, \$merged)) {$numChecked++;} 132 131 else {next;} 133 132 } 134 133 135 134 # delete from datastore 136 if (defined $product && !$deleted && $loadedToOdm && $mergeWorthy) { 135 if (defined $product && !$deleted && $loadedToOdm && ($mergeWorthy || $loadFailed)) { 136 137 137 138 138 $deleted = $datastore->remove($batch->getName()); … … 149 149 150 150 # update database 151 $ippToPspsDb->updateODMStatus($batchId, $expId, $loadedToOdm, $ mergeWorthy, $merged, $deleted);152 printf( "| %18s | %11s | %10d | %6s | %6s | %6s | %5s |\n",151 $ippToPspsDb->updateODMStatus($batchId, $expId, $loadedToOdm, $loadFailed, $mergeWorthy, $merged, $deleted); 152 printf( "| %18s | %11s | %10d | %6s | %6s | %6s | %6s | %5s |\n", 153 153 $timestamp, 154 154 $batch->getName(), 155 155 $expId, 156 156 $loadedToOdm ? "yes" : "no", 157 $loadFailed ? "yes" : "no", 157 158 $mergeWorthy ? "yes" : "no", 158 159 $merged ? "yes" : "no", … … 160 161 } 161 162 162 printf("+----------------------+--------------+--------------+----------------+---------------+---------+----------+\n"); 163 163 printf("+----------------------+--------------+--------------+----------------+--------------+--------------+---------+----------+\n"); 164 164 printf( "* Successfully checked %d batch%s out of %d\n", $numChecked, ($numChecked==1) ? "" : "es", $numBatchesToCheck); 165 165 printf( "* Successfully removed %d batch%s from the datastore\n", $numRemovedFromDatastore, ($numRemovedFromDatastore==1) ? "" : "es"); … … 174 174 ######################################################################################## 175 175 sub checkODM { 176 my ($batchName, $loadedToOdm, $ mergeWorthy, $merged) = @_;176 my ($batchName, $loadedToOdm, $loadFailed, $mergeWorthy, $merged) = @_; 177 177 178 178 my $statusFilter = "*"; … … 194 194 195 195 my ($tempFile, $tempName) = tempfile( "/tmp/ippToPsps_odmXml.XXXX", UNLINK => !$save_temps); 196 #print $response->content. "\n"; 196 197 print $tempFile $response->content; 197 198 close($tempFile); 198 199 199 200 ${$loadedToOdm} = 0; 201 ${$loadFailed} = 0; 200 202 ${$mergeWorthy} = 0; 201 203 ${$merged} = 0; 202 204 203 parseXml($tempName, $loadedToOdm, $mergeWorthy, $merged); 205 parseXml($tempName, $loadedToOdm, $loadFailed, $mergeWorthy, $merged); 206 207 unlink($tempFile); 204 208 205 209 return 1; 206 210 } 207 211 208 ######################################################################################y 212 213 214 ######################################################################################## 209 215 # 210 216 # Parses ODM XML … … 212 218 ######################################################################################## 213 219 sub parseXml { 214 my ($xmlFile, $loadedToOdm, $ mergeWorthy, $merged) = @_;220 my ($xmlFile, $loadedToOdm, $loadFailed, $mergeWorthy, $merged) = @_; 215 221 216 222 my $parser = XML::LibXML->new; … … 218 224 my $xc = XML::LibXML::XPathContext->new($doc); 219 225 $xc->registerNs('ArrayOfOdmBatchState', 'PanSTARRS.Services.OdmWebService'); 220 my $result = $xc->findvalue('//ArrayOfOdmBatchState:Message'); 226 my $result = $xc->findvalue('//ArrayOfOdmBatchState:BatchState'); 227 228 if ($result =~ m/failed/) { 229 ${$loadFailed} = 1; 230 ${$loadedToOdm} = 1; 231 return; 232 } 233 234 $result = $xc->findvalue('//ArrayOfOdmBatchState:Message'); 221 235 ${$loadedToOdm} = 0; 222 236 ${$mergeWorthy} = 0;
Note:
See TracChangeset
for help on using the changeset viewer.
