Skip to content
Snippets Groups Projects
Commit 5a154835 authored by sveseli's avatar sveseli
Browse files

added more default keys to upload info; checks for empty file paths

parent 511a10a8
No related branches found
No related tags found
No related merge requests found
...@@ -9,7 +9,7 @@ from dm.common.utility.timeUtility import TimeUtility ...@@ -9,7 +9,7 @@ from dm.common.utility.timeUtility import TimeUtility
class UploadInfo(DmObject): 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={}): def __init__(self, dict={}):
DmObject.__init__(self, dict) DmObject.__init__(self, dict)
......
...@@ -25,13 +25,16 @@ class FileProcessingThread(threading.Thread): ...@@ -25,13 +25,16 @@ class FileProcessingThread(threading.Thread):
return return
filePath = fileInfo.get('filePath') filePath = fileInfo.get('filePath')
if not filePath:
self.logger.warn('Refusing to process empty file path')
return
try: try:
statusMonitor = fileInfo.get('statusMonitor') statusMonitor = fileInfo.get('statusMonitor')
if statusMonitor and statusMonitor.get('status') == 'aborting': if statusMonitor and statusMonitor.get('status') == 'aborting':
self.logger.debug('File %s processing is cancelled' % (filePath)) self.logger.debug('File %s processing is cancelled' % (filePath))
endProcessingTime = time.time() endProcessingTime = time.time()
statusMonitor.fileProcessingCancelled(filePath, endProcessingTime) statusMonitor.fileProcessingCancelled(filePath, endProcessingTime)
fileInfo.clear()
return return
self.logger.debug('Starting processing file %s' % filePath) self.logger.debug('Starting processing file %s' % filePath)
fileInfo['startProcessingTime'] = time.time() fileInfo['startProcessingTime'] = time.time()
...@@ -58,7 +61,6 @@ class FileProcessingThread(threading.Thread): ...@@ -58,7 +61,6 @@ class FileProcessingThread(threading.Thread):
endProcessingTime = time.time() endProcessingTime = time.time()
if statusMonitor: if statusMonitor:
statusMonitor.fileProcessed(filePath, endProcessingTime) statusMonitor.fileProcessed(filePath, endProcessingTime)
fileInfo.clear()
except Exception, ex: except Exception, ex:
self.logger.exception(ex) self.logger.exception(ex)
processingError = '%s processing error: %s' % (processorName, str(ex)) processingError = '%s processing error: %s' % (processorName, str(ex))
...@@ -76,7 +78,6 @@ class FileProcessingThread(threading.Thread): ...@@ -76,7 +78,6 @@ class FileProcessingThread(threading.Thread):
endProcessingTime = time.time() endProcessingTime = time.time()
if statusMonitor: if statusMonitor:
statusMonitor.fileProcessingError(filePath, processingError, endProcessingTime) statusMonitor.fileProcessingError(filePath, processingError, endProcessingTime)
fileInfo.clear()
self.logger.debug('No more %s retries left for file %s' % (processorName, filePath)) self.logger.debug('No more %s retries left for file %s' % (processorName, filePath))
else: else:
retryWaitPeriod = processor.getRetryWaitPeriodInSeconds() retryWaitPeriod = processor.getRetryWaitPeriodInSeconds()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment