- Timestamp:
- Jun 19, 2012, 5:24:19 PM (14 years ago)
- Location:
- branches/meh_branches/ppstack_test
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
ippToPsps/jython/cleanup.py (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/meh_branches/ppstack_test
- Property svn:mergeinfo changed
-
branches/meh_branches/ppstack_test/ippToPsps/jython/cleanup.py
r33415 r34041 7 7 import sys 8 8 import time 9 import traceback 9 10 import logging.config 10 11 … … 13 14 from datastore import Datastore 14 15 from dxlayer import DXLayer 15 16 16 17 17 ''' … … 26 26 super(Cleanup, self).__init__(argv) 27 27 28 self.datastore = Datastore(self.logger, self.config, self.ippToPspsDb) 29 self.dxlayer = DXLayer(self.logger) 28 30 if len(argv) > 2: self.parsePollTimeArg(sys.argv[2]) 29 31 30 31 '''32 Overrides base-class version33 '''34 def refreshConfig(self):35 ret = super(Cleanup, self).refreshConfig()36 self.dxlayer = DXLayer(self.logger)37 self.datastore = Datastore(self.logger, self.config, self.ippToPspsDb)38 return ret39 32 40 33 ''' … … 46 39 while True: 47 40 41 self.logger.infoSeparator() 42 self.logger.infoPair("Config", self.config.name) 48 43 self.config.printDeletionPolicy() 44 self.clean("IN") 49 45 self.clean("P2") 50 46 self.clean("ST") 47 self.clean("OB") 51 48 52 49 self.checkClientStatus() 53 50 if not self.waitForPollTime(): break 54 51 52 ''' 53 Reports results of cleanup for this set of IDs 54 ''' 55 def reportResults(self, name, ids, success): 56 57 if len(ids) > 0: 58 self.logger.infoSeparator() 59 self.logger.infoPair("Removed from " + name, "%d of %d" % (success, len(ids))) 60 61 55 62 ''' 56 63 Finds stuff to delete for this batch type, then: … … 66 73 self.logger.infoTitle("Cleaning up batch type %s" % batchType) 67 74 68 loadedDatastoreIDs = self.ippToPspsDb.getLoadedToODMButNotDeletedFromDatastore(batchType , self.config.epoch, self.config.dvoLabel)69 loadedDxlayerIDs = self.ippToPspsDb.getLoadedToODMButNotDeletedFromDXLayer(batchType, self.config.epoch, self.config.dvoLabel)70 mergedLocalIDs = self.ippToPspsDb.getMergedButNotDeletedFromLocalDisk(batchType , self.config.epoch, self.config.dvoLabel)75 loadedDatastoreIDs = self.ippToPspsDb.getLoadedToODMButNotDeletedFromDatastore(batchType) 76 deleteFromDxLayerIDs = self.ippToPspsDb.getLoadedToODMButNotDeletedFromDXLayer(batchType) 77 mergedLocalIDs = self.ippToPspsDb.getMergedButNotDeletedFromLocalDisk(batchType) 71 78 72 purgedDatastoreIDs = self.ippToPspsDb.getPurgedButNotDeletedFromDatastore(batchType , self.config.epoch, self.config.dvoLabel)73 purgedLocalIDs = self.ippToPspsDb.getPurgedButNotDeletedFromLocalDisk(batchType , self.config.epoch, self.config.dvoLabel)79 purgedDatastoreIDs = self.ippToPspsDb.getPurgedButNotDeletedFromDatastore(batchType) 80 purgedLocalIDs = self.ippToPspsDb.getPurgedButNotDeletedFromLocalDisk(batchType) 74 81 75 self.logger.infoPair("Loaded to ODM but still on datastore", "%d" % len(loadedDatastoreIDs)) 76 self.logger.infoPair("Loaded to ODM but still in DXLayer", "%d" % len(loadedDxlayerIDs)) 77 self.logger.infoPair("Merged but still on local disk", "%d" % len(mergedLocalIDs)) 78 self.logger.infoPair("Purged but still on datastore", "%d" % len(purgedDatastoreIDs)) 79 self.logger.infoPair("Purged but still on local disk", "%d" % len(purgedLocalIDs)) 82 deleteFromDatastoreIDs = loadedDatastoreIDs + purgedDatastoreIDs 83 deleteFromLocalIDs = mergedLocalIDs + purgedLocalIDs 84 85 # report to log what we are going to do 86 self.logger.infoPair("To delete from datastore", "%d" % len(deleteFromDatastoreIDs)) 87 self.logger.infoPair("To delete from DXLayer", "%d" % len(deleteFromDxLayerIDs)) 88 self.logger.infoPair("To delete from local disk", "%d" % len(deleteFromLocalIDs)) 80 89 90 # delete stuff from local disk 81 91 if self.config.deleteLocal: 82 self.logger.infoSeparator()83 92 count = 0 84 ids = mergedLocalIDs + purgedLocalIDs 85 for id in ids: 93 for id in deleteFromLocalIDs: 86 94 87 95 if Batch.deleteFromDisk(self.logger, self.config.basePath, batchType, self.config.dvoLabel, id): … … 89 97 count = count + 1 90 98 91 self.logger.infoSeparator() 92 self.logger.infoPair("Removed from local disk", "%d" % count) 93 self.logger.infoPair("Remaining on local disk", "%d" % (len(ids) - count)) 94 99 self.reportResults("local disk", deleteFromLocalIDs, count) 95 100 101 # remove stuff from datastore 96 102 if self.config.deleteDatastore: 97 self.logger.infoSeparator()98 103 count = 0 99 ids = loadedDatastoreIDs + purgedDatastoreIDs 100 for id in ids: 104 for id in deleteFromDatastoreIDs: 101 105 102 106 batchName = Batch.getNameFromID(id) … … 105 109 count = count + 1 106 110 107 self.logger.infoSeparator() 108 self.logger.infoPair("Removed from datastore", "%d" % count) 109 self.logger.infoPair("Remaining on datastore", "%d" % (len(ids) - count)) 111 self.reportResults("datastore", deleteFromDatastoreIDs, count) 110 112 113 # remove stuff from DXLayer 111 114 if self.config.deleteDxLayer: 112 self.logger.infoSeparator()113 115 count = 0 114 for id in loadedDxlayerIDs:116 for id in deleteFromDxLayerIDs: 115 117 116 118 if self.dxlayer.deleteBatch(id): … … 118 120 count = count + 1 119 121 120 self.logger.infoSeparator() 121 self.logger.infoPair("Removed from DXLayer", "%d" % count) 122 self.logger.infoPair("Remaining on DXLayer", "%d" % (len(loadedDxlayerIDs) - count)) 122 self.reportResults("DXLayer", deleteFromDxLayerIDs, count) 123 123 124 125 124 ''' 126 125 Overrides base-class version 127 126 ''' 128 127 def printUsage(self): 129 super(Cleanup, self).printUsage() 130 print " [<poll time in hours>]" 128 super(Cleanup, self).printUsage("[<poll time in hours>]") 131 129 132 130 … … 134 132 Start of program 135 133 ''' 136 cleanup = Cleanup(sys.argv) 137 cleanup.run() 138 cleanup.exitProgram("finished") 134 try: 135 cleanup = Cleanup(sys.argv) 136 cleanup.run() 137 cleanup.exitProgram("completed") 138 except Exception, e: 139 print str(e) 140 traceback.print_exc()
Note:
See TracChangeset
for help on using the changeset viewer.
