diff --git a/src/python/dm/common/objects/uploadInfo.py b/src/python/dm/common/objects/uploadInfo.py index 236d1a15079ff28ac16ac411c969ccca616ffeac..c05337f6c833273bb03b4e22608d006941793514 100755 --- a/src/python/dm/common/objects/uploadInfo.py +++ b/src/python/dm/common/objects/uploadInfo.py @@ -9,7 +9,7 @@ from dm.common.utility.timeUtility import TimeUtility class UploadInfo(DmObject): - DEFAULT_KEY_LIST = [ 'id', 'experimentName', 'dataDirectory', 'status', 'nProcessedFiles', 'nProcessingErrors', 'nFiles', 'percentageComplete', 'startTime', 'endTime', 'runTime', 'startTimestamp', 'endTimestamp' ] + DEFAULT_KEY_LIST = [ 'id', 'experimentName', 'dataDirectory', 'status', 'nProcessedFiles', 'nProcessingErrors', 'nCancelledFiles', 'nFiles', 'percentageComplete', 'percentageProcessed', 'percentageProcessingErrors', 'percentageCancelled', 'startTime', 'endTime', 'runTime', 'startTimestamp', 'endTimestamp' ] def __init__(self, dict={}): DmObject.__init__(self, dict) diff --git a/src/python/dm/common/processing/fileProcessingThread.py b/src/python/dm/common/processing/fileProcessingThread.py index bc2e485f5e54cab256481ef245d4a252214f7431..25d227ea6c8261ee870c28f82971e8be55454fc7 100755 --- a/src/python/dm/common/processing/fileProcessingThread.py +++ b/src/python/dm/common/processing/fileProcessingThread.py @@ -25,13 +25,16 @@ class FileProcessingThread(threading.Thread): return filePath = fileInfo.get('filePath') + if not filePath: + self.logger.warn('Refusing to process empty file path') + return + try: statusMonitor = fileInfo.get('statusMonitor') if statusMonitor and statusMonitor.get('status') == 'aborting': self.logger.debug('File %s processing is cancelled' % (filePath)) endProcessingTime = time.time() statusMonitor.fileProcessingCancelled(filePath, endProcessingTime) - fileInfo.clear() return self.logger.debug('Starting processing file %s' % filePath) fileInfo['startProcessingTime'] = time.time() @@ -58,7 +61,6 @@ class FileProcessingThread(threading.Thread): endProcessingTime = time.time() if statusMonitor: statusMonitor.fileProcessed(filePath, endProcessingTime) - fileInfo.clear() except Exception, ex: self.logger.exception(ex) processingError = '%s processing error: %s' % (processorName, str(ex)) @@ -76,7 +78,6 @@ class FileProcessingThread(threading.Thread): endProcessingTime = time.time() if statusMonitor: statusMonitor.fileProcessingError(filePath, processingError, endProcessingTime) - fileInfo.clear() self.logger.debug('No more %s retries left for file %s' % (processorName, filePath)) else: retryWaitPeriod = processor.getRetryWaitPeriodInSeconds()