Exemplo n.º 1
0
  def updateHadoopIDAndJobStatus( self, JobID, HadoopID ):
    """
    Insert HadoopID
    """
    jobDB.setJobAttribute( JobID, "MinorStatus", "MapReducing Step, running with JobID: " + HadoopID )

    tableName, _validStates, idName = self.__getTypeTuple( 'job' )
    sqlUpdate = 'UPDATE %s SET BdJobSoftwareID= "%s" WHERE %s = %s' % ( tableName, HadoopID, idName, JobID )
    return self._update( sqlUpdate )
Exemplo n.º 2
0
 def setIntoJobDBStatus( self, jobID, status, JobGroup, Site, jobBDSoftwareName ):
   jobReport = RPCClient( 'WorkloadManagement/JobStateUpdate' )
   if status == "Running":
     self.log.verbose( 'setJobStatus(%s,%s,%s,%s)' % ( jobID,
                                                       status,
                                                       "Running with JobID: " + jobBDSoftwareName,
                                                       'BigDataMonitoring@%s' % Site ) )
     jobStatus = jobReport.setJobStatus( int( jobID ),
                                         status,
                                         "MapReducing Step, running with JobID: " + jobBDSoftwareName,
                                         'BigDataMonitoring@%s' % Site )
     if not jobStatus['OK']:
       self.log.warn( jobStatus['Message'] )
     jobSite = jobReport.setJobSite( int( jobID ), Site )
     self.log.verbose( 'setJobSite(%s,%s)' % ( jobID, Site ) )
     if not jobSite['OK']:
       self.log.warn( jobSite['Message'] )
     jobDB.setJobAttribute( jobID, "ApplicationStatus", "Running MapReduce" )
   if status == "Submitted":
     if ( jobBDSoftwareName != "" ):
       jobStatus = jobReport.setJobStatus( int( jobID ),
                                           status,
                                           "Job in Queue with JobId:" + jobBDSoftwareName,
                                           'BigDataMonitoring@%s' % Site )
       self.log.verbose( 'setJobStatus(%s,%s,%s,%s)' % ( jobID,
                                                         status,
                                                         "Job in Queue with JobId:" + jobBDSoftwareName,
                                                         'BigDataMonitoring@%s' % Site ) )
       if not jobStatus['OK']:
         self.log.warn( jobStatus['Message'] )
       jobSite = jobReport.setJobSite( int( jobID ), Site )
       self.log.verbose( 'setJobSite(%s,%s)' % ( jobID, Site ) )
       if not jobSite['OK']:
         self.log.warn( jobSite['Message'] )
       jobDB.setJobAttribute( jobID, "ApplicationStatus", "Job in Queue" )
     else:
       jobStatus = jobReport.setJobStatus( int( jobID ),
                                           status = 'Rescheduled',
                                           application = "Unknown Status",
                                           sendFlag = True )
       self.log.verbose( 'setJobStatus(%s,%s,%s,%s)' % ( jobID,
                                                         'Rescheduled',
                                                         "Unknown Status",
                                                         'BigDataMonitoring@%s' % Site ) )
       if not jobStatus['OK']:
         self.log.warn( jobStatus['Message'] )
       jobSite = jobReport.setJobSite( int( jobID ), Site )
       self.log.verbose( 'setJobSite(%s,%s)' % ( jobID, Site ) )
       if not jobSite['OK']:
         self.log.warn( jobSite['Message'] )
   if status == "Done":
     self.log.verbose( 'setJobStatus(%s,%s,%s,%s)' % ( jobID,
                                                       status,
                                                       "MapReducing Process Finished",
                                                       'BigDataMonitoring@%s' % Site ) )
     jobStatus = jobReport.setJobStatus( int( jobID ),
                                         status,
                                         "MapReducing Process Finished",
                                         'BigDataMonitoring@%s' % Site )
     if not jobStatus['OK']:
       self.log.warn( jobStatus['Message'] )
     jobSite = jobReport.setJobSite( int( jobID ), Site )
     self.log.verbose( 'setJobSite(%s,%s)' % ( jobID, Site ) )
     if not jobSite['OK']:
       self.log.warn( jobSite['Message'] )
     jobDB.setJobAttribute( jobID, "ApplicationStatus", "MapReduce Complete" )
   return S_OK( 'OK' )