- Timestamp:
- Jan 11, 2012, 11:19:21 PM (15 years ago)
- Location:
- branches/meh_branches/ppsub_test
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
ippToPsps/jython/pollOdm.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/meh_branches/ppsub_test
- Property svn:mergeinfo changed
-
branches/meh_branches/ppsub_test/ippToPsps/jython/pollOdm.py
r32121 r33098 6 6 import re 7 7 import sys 8 import time 8 9 9 10 import logging.config 10 11 from pslogger import PSLogger 11 12 from ipptopspsdb import IppToPspsDb 12 from gpc1db import Gpc1Db13 13 from odm import Odm 14 14 from batch import Batch 15 15 16 ''' 17 Method to actually poll ODM 18 ''' 19 def poll(batchType, stage): 20 21 if stage == "unloaded": 22 ids = ippToPspsDb.getUnloadedBatchIDs(EPOCH, DVOLABEL, batchType) 23 elif stage == "unmergeworthy": 24 ids = ippToPspsDb.getUnmergeWorthyBatchIDs(EPOCH, DVOLABEL, batchType) 25 elif stage == "unmerged": 26 ids = ippToPspsDb.getUnmergedBatchIDs(EPOCH, DVOLABEL, batchType) 16 27 17 if len(sys.argv) > 1: CONFIG = sys.argv[1] 28 logger.infoTitle("Checking %d %s %s batches" % (len(ids), stage, batchType)) 29 30 results = {} 31 newLoaded = 0 32 newMergeWorthy = 0 33 newMerged = 0 34 35 logger.info("+-----------+----------------+----------------+----------------+----------------+----------------+----------------+----------------+") 36 logger.info("| Batch | Loaded to ODM | Load failed | Merge worthy | Merged | New loaded |New merge worthy| New merged |") 37 logger.info("+-----------+----------------+----------------+----------------+----------------+----------------+----------------+----------------+") 38 for id in ids: 39 40 if odm.checkBatch(id, results): 41 ippToPspsDb.updateOdmStatus(id, results) 42 43 if stage == "unloaded": 44 if results['LOADEDTOODM'] == 1: newLoaded = newLoaded + 1 45 if results['MERGEWORTHY'] == 1: newMergeWorthy = newMergeWorthy + 1 46 if results['MERGED'] == 1: newMerged = newMerged + 1 47 48 elif stage == "unmergeworthy": 49 if results['MERGEWORTHY'] == 1: newMergeWorthy = newMergeWorthy + 1 50 if results['MERGED'] == 1: newMerged = newMerged + 1 51 52 elif stage == "unmerged": 53 if results['MERGED'] == 1: newMerged = newMerged + 1 54 55 logger.info("| %9s | %14d | %14d | %14d | %14d | %14d | %14d | %14d |" % 56 (Batch.getNameFromID(id), 57 results['LOADEDTOODM'], 58 results['LOADFAILED'], 59 results['MERGEWORTHY'], 60 results['MERGED'], 61 newLoaded, 62 newMergeWorthy, 63 newMerged)) 64 65 66 else: 67 logger.info("| %9s | failed to poll ODM |" % Batch.getNameFromID(id)) 68 69 logger.info("+-----------+----------------+----------------+----------------+----------------+----------------+----------------+----------------+") 70 71 72 ''' 73 Program starts here 74 ''' 75 if len(sys.argv) > 3: 76 CONFIG = sys.argv[1] 77 BATCHTYPE = sys.argv[2] 78 STAGE = sys.argv[3] 18 79 else: 19 print "\n** Usage: " + sys.argv[0] + " <configPath> \n"80 print "\n** Usage: " + sys.argv[0] + " <configPath> <P2|ST|all> <unloaded|unmergeworthy|unmerged|all> [hours]\n" 20 81 sys.exit(1) 82 83 if len(sys.argv) > 4: 84 HOURS = float(sys.argv[4]) 85 SECONDS = HOURS * 60.0 * 60.0 86 else: 87 SECONDS = None 21 88 22 89 # open config file … … 29 96 30 97 ippToPspsDb = IppToPspsDb(logger, configDoc) 31 gpc1Db = Gpc1Db(logger, configDoc)32 98 odm = Odm(logger, configDoc) 33 99 … … 35 101 EPOCH = configDoc.find("options/epoch").text 36 102 37 ids = ippToPspsDb.getProcessedButUnmergedBatchIDs(EPOCH, DVOLABEL) 103 if STAGE == "all": stages = ['unloaded', 'unmergeworthy', 'unmerged'] 104 else: stages = [STAGE] 38 105 39 logger.infoPair("Processed but un-merged batches", "%d" % len(ids)) 106 if BATCHTYPE == "all": batchTypes = ['P2', 'ST'] 107 else: batchTypes = [BATCHTYPE] 108 109 for stage in stages: logger.infoPair("Checking stage", stage) 110 for batchType in batchTypes: logger.infoPair("Checking batch type", batchType) 111 112 while True: 113 114 for stage in stages: 115 for batchType in batchTypes: 116 poll(batchType, stage) 117 118 if SECONDS: 119 logger.infoPair("Waiting for", "%f hours" % HOURS) 120 time.sleep(SECONDS) 121 else: break 40 122 41 123 42 results = {}43 44 logger.info("+-----------+----------------+----------------+----------------+----------------+")45 logger.info("| Batch | Loaded to ODM | Load failed | Merge worthy | Merged |")46 logger.info("+-----------+----------------+----------------+----------------+----------------+")47 for id in ids:48 49 if odm.checkBatch(id, results):50 ippToPspsDb.updateOdmStatus(id, results)51 logger.info("| %9s | %14d | %14d | %14d | %14d |" %52 (Batch.getNameFromID(id),53 results['LOADEDTOODM'],54 results['LOADFAILED'],55 results['MERGEWORTHY'],56 results['MERGED']))57 else:58 logger.info("| %9s | failed to poll ODM |" % Batch.getNameFromID(id))59 60 logger.info("+-----------+----------------+----------------+----------------+----------------+")61
Note:
See TracChangeset
for help on using the changeset viewer.
