コード例 #1
0
 def executeTask(self, skipCompletedTasks, **args):
     cdmsDataset = self.getInputValue("dataset")
     tValue = args.get('timeValue', cdmsDataset.timeRange[2])
     self.timeValue = cdtime.reltime(float(tValue),
                                     cdmsDataset.referenceTimeUnits)
     taskInputData = self.getInputValue("task")
     taskMap = deserializeTaskData(
         getItem(taskInputData)) if taskInputData else None
     taskData = taskMap.get(cdmsDataset.getDsetId(),
                            None) if taskMap else None
     task = None
     if taskData:
         taskName = taskData[0]
         if taskName:
             taskClass = TaskManager.getTask(taskName)
             if taskClass:
                 task = taskClass(cdmsDataset)
                 task_key = task.getInputMap(self)
                 if (skipCompletedTasks
                         and self.getTaskCompleted(task_key)):
                     print " Skipping completed task: %s " % task_key
                 else:
                     task.compute([
                         self.timeValue,
                     ])
                 self.setTaskCompleted(task_key)
     if task == None:
         print >> sys.stderr, "Error, no task defined in CDATUtilities module"
     self.setResult('dataset', cdmsDataset)
コード例 #2
0
 def executeTask( self, skipCompletedTasks, **args ):
     cdmsDataset = self.getInputValue( "dataset"  ) 
     tValue = args.get( 'timeValue', cdmsDataset.timeRange[2] )
     self.timeValue = cdtime.reltime( float( tValue ), cdmsDataset.referenceTimeUnits )
     taskInputData = self.getInputValue( "task"  ) 
     taskMap =  deserializeTaskData( getItem( taskInputData ) ) if taskInputData else None   
     taskData =  taskMap.get( cdmsDataset.getDsetId(), None ) if taskMap else None
     task = None
     if taskData:
         taskName = taskData[0]
         if taskName:
             taskClass = TaskManager.getTask( taskName )
             if taskClass:
                 task = taskClass( cdmsDataset )
                 task_key = task.getInputMap( self )
                 if ( skipCompletedTasks and self.getTaskCompleted( task_key ) ):   print " Skipping completed task: %s " % task_key
                 else:  task.compute( [ self.timeValue, ] )
                 self.setTaskCompleted( task_key )
コード例 #3
0
 def processTaskData( self, taskData ):
     taskMapInput = deserializeTaskData( taskData ) 
     if taskMapInput:
         self.taskMap = taskMapInput         
         taskRecord = self.taskMap.get( self.datasetId, None )
         if taskRecord:
             self.task = taskRecord[0]
             inputs = taskRecord[1].split(';')
             self.inputMap = {}
             for input in inputs:
                 inputData = input.split('#')
                 if len(inputData) > 1:
                     self.inputMap[ inputData[0] ] = ( inputData[1], int(inputData[2]) )
             outputs = taskRecord[2].split(';')
             self.outputMap = {}
             for output in outputs:
                 outputData = output.split('#')
                 if len(outputData) > 1:
                     varNameData =  outputData[1].split('*')
                     self.outputMap[ outputData[0] ] = varNameData[-1]
コード例 #4
0
 def processTaskData(self, taskData):
     taskMapInput = deserializeTaskData(taskData)
     if taskMapInput:
         self.taskMap = taskMapInput
         taskRecord = self.taskMap.get(self.datasetId, None)
         if taskRecord:
             self.task = taskRecord[0]
             inputs = taskRecord[1].split(';')
             self.inputMap = {}
             for input in inputs:
                 inputData = input.split('#')
                 if len(inputData) > 1:
                     self.inputMap[inputData[0]] = (inputData[1],
                                                    int(inputData[2]))
             outputs = taskRecord[2].split(';')
             self.outputMap = {}
             for output in outputs:
                 outputData = output.split('#')
                 if len(outputData) > 1:
                     varNameData = outputData[1].split('*')
                     self.outputMap[outputData[0]] = varNameData[-1]