diff --git a/src/python/dm/common/processing/fileProcessingThread.py b/src/python/dm/common/processing/fileProcessingThread.py index 999207d97fb120cd699f6a4fb09b6ab9b0c9ef85..bc2e485f5e54cab256481ef245d4a252214f7431 100755 --- a/src/python/dm/common/processing/fileProcessingThread.py +++ b/src/python/dm/common/processing/fileProcessingThread.py @@ -21,10 +21,13 @@ class FileProcessingThread(threading.Thread): self.logger = LoggingManager.getInstance().getLogger(name) def processFile(self, fileInfo): + if not len(self.fileProcessorKeyList): + return + 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 +56,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 +74,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: