IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Aug 31, 2011, 1:20:14 PM (15 years ago)
Author:
rhenders
Message:

various changes to stage ID getters; new method to get batch IDs; now setting processed to -1 when a batch fails to process; some method name changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippToPsps/jython/ipptopspsdb.py

    r32220 r32250  
    5959    Returns a list of processed batch IDs that are merged but not yet deleted
    6060    '''
    61     def getMergedButNotDeletedBatchIDs(self, batchType, epoch, dvoGpc1Label, column):
     61    def getLoadedToODMButNotDeletedBatchIDs(self, batchType, epoch, dvoGpc1Label, column):
    6262
    6363        sql = "SELECT DISTINCT batch_id \
     
    6666               AND batch_type = '" + batchType + "' \
    6767               AND dvo_db = '" + dvoGpc1Label + "' \
    68                AND merged = 1\
     68               AND loaded_to_ODM != 0 \
    6969               AND " + column + " = 0"
    7070
     
    8686    Returns a list of processed batch IDs that are merged but not deleted from local disk
    8787    '''
    88     def getMergedButNotDeletedFromLocalDisk(self, batchType, epoch, dvoGpc1Label):
    89         return self.getMergedButNotDeletedBatchIDs(batchType, epoch, dvoGpc1Label, "deleted_local")
     88    def getLoadedToODMButNotDeletedFromLocalDisk(self, batchType, epoch, dvoGpc1Label):
     89        return self.getLoadedToODMButNotDeletedBatchIDs(batchType, epoch, dvoGpc1Label, "deleted_local")
    9090
    9191    '''
    9292    Returns a list of processed batch IDs that are merged but not deleted from datastore
    9393    '''
    94     def getMergedButNotDeletedFromDatastore(self, batchType, epoch, dvoGpc1Label):
    95         return self.getMergedButNotDeletedBatchIDs(batchType, epoch, dvoGpc1Label, "deleted_datastore")
     94    def getLoadedToODMButNotDeletedFromDatastore(self, batchType, epoch, dvoGpc1Label):
     95        return self.getLoadedToODMButNotDeletedBatchIDs(batchType, epoch, dvoGpc1Label, "deleted_datastore")
    9696
    9797    '''
    9898    Returns a list of processed batch IDs that are merged but not deleted from DXLayer
    9999    '''
    100     def getMergedButNotDeletedFromDXLayer(self, batchType, epoch, dvoGpc1Label):
    101         return self.getMergedButNotDeletedBatchIDs(batchType, epoch, dvoGpc1Label, "deleted_dxlayer")
     100    def getLoadedToODMButNotDeletedFromDXLayer(self, batchType, epoch, dvoGpc1Label):
     101        return self.getLoadedToODMButNotDeletedBatchIDs(batchType, epoch, dvoGpc1Label, "deleted_dxlayer")
    102102
    103103
     
    130130
    131131    '''
    132     Returns a list of processed batch IDs that are not yet merged for this epoch and dvo label
    133     '''
    134     def getProcessedButUnmergedBatchIDs(self, epoch, dvoGpc1Label):
     132    Returns a list of processed batch IDs that have not failed to load and are not yet merged, for this epoch and dvo label
     133    '''
     134    def getUnfinishedBatchIDs(self, epoch, dvoGpc1Label):
    135135
    136136        sql = "SELECT DISTINCT batch_id \
     
    139139               AND dvo_db = '" + dvoGpc1Label + "' \
    140140               AND loaded_to_datastore = 1 \
    141                AND merged = 0 OR merged = -1"
     141               AND merged != 1 \
     142               AND loaded_to_ODM != -1"
     143
    142144
    143145        ids = []
     
    147149                ids.append(rs.getInt(1))
    148150        except:
    149             self.logger.exception("Can't query for processed batch ids in ipptopsps Db")
     151            self.logger.exception("Can't query for unfinished batch ids in ipptopsps Db")
    150152
    151153        rs.close()
    152154
    153         self.logger.debug("Found %d processed and un-merged items" % len(ids))
     155        self.logger.debug("Found %d unfinished items" % len(ids))
    154156
    155157        return ids
    156158
    157159    '''
     160    Returns a list of batch IDs for this epoch and dvo label for which the specified column is set to value
     161    '''
     162    def getBatchIDs(self, epoch, dvoGpc1Label, column, value):
     163
     164        sql = "SELECT DISTINCT batch_id \
     165               FROM batch \
     166               WHERE timestamp > '" + epoch + "' \
     167               AND dvo_db = '" + dvoGpc1Label + "' \
     168               AND " + column + " = " + str(value)
     169
     170        ids = []
     171        try:
     172            rs = self.executeQuery(sql)
     173            while (rs.next()):
     174                ids.append(rs.getInt(1))
     175        except:
     176            self.logger.exception("Can't query for batch ids with " + column + " = " + str(value) + " in ipptopsps Db")
     177
     178        rs.close()
     179
     180        self.logger.debug("Found %d batches with %s = %d" % (len(ids), column, value))
     181
     182        return ids
     183
     184    '''
    158185    Returns a list of IDs for this batch type, epoch and dvo label (i.e. either
    159             cam_ids or stack_ids) for which the spefified column is true (=1)
    160     '''
    161     def getStageIDs(self, batchType, epoch, dvoGpc1Label, column):
     186            cam_ids or stack_ids) for which the specified column is set to value
     187    '''
     188    def getStageIDs(self, batchType, epoch, dvoGpc1Label, column, value):
    162189
    163190        sql = "SELECT DISTINCT stage_id \
     
    166193               AND timestamp > '" + epoch + "' \
    167194               AND dvo_db = '" + dvoGpc1Label + "' \
    168                AND " + column + " = 1"
     195               AND " + column + " = " + str(value)
    169196
    170197        ids = []
     
    174201                ids.append(rs.getInt(1))
    175202        except:
    176             self.logger.exception("Can't query for ids with " + column + " = 1 in ipptopsps Db")
     203            self.logger.exception("Can't query for ids with " + column + " = " + str(value) + " in ipptopsps Db")
    177204
    178205        rs.close()
     
    183210
    184211    '''
     212    Series of getter methods that utilise getBatchIDs() method above
     213    '''
     214    def getloadedToDatastoreBatchIDs(self, epoch, dvoGpc1Label):
     215        return self.getBatchIDs(epoch, dvoGpc1Label, "loaded_to_datastore", 1)
     216    def getFailedLoadedToODMBatchIDs(self, epoch, dvoGpc1Label):
     217        return self.getBatchIDs(epoch, dvoGpc1Label, "loaded_to_ODM", -1)
     218
     219    '''
    185220    Series of getter methods that utilise getStageIDs() method above
    186221    '''
    187222    def getProcessedIDs(self, batchType, epoch, dvoGpc1Label):
    188         return self.getStageIDs(batchType, epoch, dvoGpc1Label, "processed")
     223        return self.getStageIDs(batchType, epoch, dvoGpc1Label, "processed", 1)
    189224    def getloadedToDatastoreIDs(self, batchType, epoch, dvoGpc1Label):
    190         return self.getStageIDs(batchType, epoch, dvoGpc1Label, "loaded_to_datastore")
     225        return self.getStageIDs(batchType, epoch, dvoGpc1Label, "loaded_to_datastore", 1)
    191226    def getLoadedToODMIDs(self, batchType, epoch, dvoGpc1Label):
    192         return self.getStageIDs(batchType, epoch, dvoGpc1Label, "loaded_to_ODM")
     227        return self.getStageIDs(batchType, epoch, dvoGpc1Label, "loaded_to_ODM", 1)
    193228    def getMergeWothyIDs(self, batchType, epoch, dvoGpc1Label):
    194         return self.getStageIDs(batchType, epoch, dvoGpc1Label, "merge_worthy")
     229        return self.getStageIDs(batchType, epoch, dvoGpc1Label, "merge_worthy", 1)
    195230    def getMergedIDs(self, batchType, epoch, dvoGpc1Label):
    196         return self.getStageIDs(batchType, epoch, dvoGpc1Label, "merged")
     231        return self.getStageIDs(batchType, epoch, dvoGpc1Label, "merged", 1)
    197232
    198233    '''
     
    340375    def updateOdmStatus(self, batchID, odmStatus):
    341376
     377        if odmStatus['LOADFAILED'] == 1: loadedToODM = -1
     378        else: loadedToODM = odmStatus['LOADEDTOODM']
    342379        sql = "UPDATE batch \
    343                SET loaded_to_ODM = " + str(odmStatus['LOADEDTOODM']) + ", \
     380               SET loaded_to_ODM = " + str(loadedToODM) + ", \
    344381               merge_worthy = " + str(odmStatus['MERGEWORTHY']) + ", \
    345382               merged = " + str(odmStatus['MERGED']) + " \
     
    384421               AND timestamp > '" + epoch + "' \
    385422               AND dvo_db = '" + dvoGpc1Label + "' \
    386                AND processed != 1"
     423               AND processed == -1"
    387424
    388425        try:
Note: See TracChangeset for help on using the changeset viewer.