IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 33176


Ignore:
Timestamp:
Jan 27, 2012, 3:48:57 PM (14 years ago)
Author:
rhenders
Message:

now figuring out which currently ingested regions can be deleted; if writing to database files, keep re-trying

File:
1 edited

Legend:

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

    r33170 r33176  
    1313from scratchdb import ScratchDb
    1414
     15import time
    1516from java.lang import *
    1617from java.sql import *
     
    144145    Gets a bunch of region files from DVO for this RA/Dec box
    145146    '''
    146     def getRegions(self, regionsToIngest, minRa=-1., maxRa=361., minDec=-91., maxDec=91):
     147    def getRegions(self, regionsToIngest, regionsToPurge, minRa=-1., maxRa=361., minDec=-91., maxDec=91):
    147148   
    148149        if (maxRa - minRa <= 0) or (maxDec - minDec) <= 0:
     
    154155                "RA: %.2f -> %.2f, Dec: %.2f -> %.2f" % (minRa, maxRa, minDec, maxDec))
    155156
     157
    156158        allRegions = self.scratchDb.getDvoRegionsForThisBox(minRa, maxRa, minDec, maxDec)
     159        allIngestedRegions = self.scratchDb.getIngestedDvoRegions()
    157160
    158161        allPopulatedRegions = []
    159162        alreadyIngested = 0
     163
    160164        for region in allRegions:
    161165
     
    176180           regionsToIngest.append(region)
    177181
    178 
    179 
    180 
    181         #regionsToDelete = list(set(allIDs) - set(processedIDs))
    182 
    183 
    184         self.logger.infoPair("Total DVO regions", "%d" % len(allPopulatedRegions))
     182        # get list of ingested regions to remove
     183        items = list(set(allIngestedRegions) - set(allPopulatedRegions))
     184        for item in items: regionsToPurge.append(item)
     185
     186        self.logger.infoPair("Total populated DVO regions", "%d" % len(allPopulatedRegions))
    185187        self.logger.infoPair("Total DVO regions already ingested", "%d" % alreadyIngested)
     188        self.logger.infoPair("Total DVO regions to purge", "%d" % len(regionsToPurge))
    186189        self.logger.infoPair("Total DVO regions to ingest", "%d" % len(regionsToIngest))
    187190
     191
     192    '''
     193    Purges the provided regions from the database
     194    '''
     195    def purgeRegions(self, regions):
     196
     197        self.logger.infoPair("Purging", "%d regions" % len(regions))
     198        deleteCount = self.scratchDb.purgeTheseDvoRegions(regions)
     199        self.logger.infoPair("Deleted", "%d detections" % deleteCount)
    188200
    189201    '''
     
    233245
    234246        regionsToIngest = []
    235         self.getRegions(regionsToIngest, minRa, maxRa, minDec, maxDec)
     247        regionsToPurge = []
     248        self.getRegions(regionsToIngest, regionsToPurge, minRa, maxRa, minDec, maxDec)
     249
     250
    236251        totalSize = self.getDiskSizeOfDvoRegions(regionsToIngest)
    237         self.logger.infoPair("Total size of cpm/cpt files to ingest", self.getFileSizeStr(totalSize))
     252        self.logger.infoPair("Total size of cpm/cpt files to ingest", self.getFileSizeStr(self.getDiskSizeOfDvoRegions(regionsToIngest)))
     253        self.logger.infoPair("Total size of cpm/cpt files to purge", self.getFileSizeStr(self.getDiskSizeOfDvoRegions(regionsToPurge)))
    238254        count = 0
     255
     256        self.purgeRegions(regionsToPurge)
    239257
    240258        self.logger.infoSeparator()
     
    377395          table = stilts.tpipe(table, cmd='replaceval Infinity null *')
    378396
    379           #try:
    380           self.logger.infoPair("Writing " + table.name + " table to", "database")
    381           table.cmd_keepcols(columns).write(self.scratchDb.url + '#' + tableName)
    382           #except:
    383           #    self.logger.exception("   Problem writing table '" + table.name + "' to the database")
     397          attempts = 0
     398          self.logger.infoPair("Writing table to database",  table.name)
     399          while True:
     400   
     401              try:
     402                  self.logger.infoPair("          attempt", "%d" % attempts)
     403                  table.cmd_keepcols(columns).write(self.scratchDb.url + '#' + tableName)
     404                  break
     405              except:
     406                  time.sleep(2)
     407                  attempts = attempts + 1
     408
    384409          count = count + 1
    385410
Note: See TracChangeset for help on using the changeset viewer.