From fb7965ac58353f5bc935e609a779194d8277962c Mon Sep 17 00:00:00 2001
From: Sinisa Veseli <sveseli@aps.anl.gov>
Date: Mon, 8 Feb 2016 03:29:26 +0000
Subject: [PATCH] make status monitor calls optional

---
 .../dm/common/processing/fileProcessingThread.py       | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/python/dm/common/processing/fileProcessingThread.py b/src/python/dm/common/processing/fileProcessingThread.py
index 999207d9..b7cb201f 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:
-- 
GitLab