diff --git a/src/python/dm/common/processing/fileProcessingThread.py b/src/python/dm/common/processing/fileProcessingThread.py index 999207d97fb120cd699f6a4fb09b6ab9b0c9ef85..b7cb201f1bafce37c285ed7432720cd6e6492cf3 100755 --- a/src/python/dm/common/processing/fileProcessingThread.py +++ b/src/python/dm/common/processing/fileProcessingThread.py @@ -23,8 +23,8 @@ class FileProcessingThread(threading.Thread): def processFile(self, fileInfo): filePath = fileInfo.get('filePath') try: - statusMonitor = fileInfo['statusMonitor'] - if statusMonitor.get('status') == 'aborting': + 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) @@ -53,7 +53,8 @@ class FileProcessingThread(threading.Thread): if processorNumber == nProcessors: self.logger.debug('File %s processing is complete' % (filePath)) endProcessingTime = time.time() - statusMonitor.fileProcessed(filePath, endProcessingTime) + if statusMonitor: + statusMonitor.fileProcessed(filePath, endProcessingTime) fileInfo.clear() except Exception, ex: self.logger.exception(ex) @@ -70,7 +71,8 @@ class FileProcessingThread(threading.Thread): processorDict['numberOfRetriesLeft'] = nRetriesLeft - 1 if nRetriesLeft <= 0: endProcessingTime = time.time() - statusMonitor.fileProcessingError(filePath, processingError, endProcessingTime) + if statusMonitor: + statusMonitor.fileProcessingError(filePath, processingError, endProcessingTime) fileInfo.clear() self.logger.debug('No more %s retries left for file %s' % (processorName, filePath)) else: