Example #1
0
def cleanTaskQueues():
  tqDB = TaskQueueDB()
  jobDB = JobDB()
  logDB = JobLoggingDB()

  result = tqDB.enableAllTaskQueues()
  if not result['OK']:
    return result
  result = tqDB.findOrphanJobs()
  if not result['OK']:
    return result
  for jid in result['Value']:
    result = tqDB.deleteJob(jid)
    if not result['OK']:
      gLogger.error("Cannot delete from TQ job %s" % jid, result['Message'])
      continue
    result = jobDB.rescheduleJob(jid)
    if not result['OK']:
      gLogger.error("Cannot reschedule in JobDB job %s" % jid, result['Message'])
      continue
    result = logDB.addLoggingRecord(jid, JobStatus.RECEIVED, "", "", source="JobState")
    if not result['OK']:
      gLogger.error("Cannot add logging record in JobLoggingDB %s" % jid, result['Message'])
      continue
  return S_OK()
Example #2
0
class TaskQueueAgent(OptimizerModule):
    """
      The specific Optimizer must provide the following methods:
      - initializeOptimizer() before each execution cycle
      - checkJob() - the main method called for each job
  """

    #############################################################################
    def initializeOptimizer(self):
        """Initialize specific parameters for TaskQueueAgent.
    """
        self.waitingStatus = self.am_getOption('WaitingStatus', 'Waiting')
        self.waitingMinorStatus = self.am_getOption('WaitingMinorStatus',
                                                    'Pilot Agent Submission')
        try:
            self.taskQueueDB = TaskQueueDB()
            result = self.taskQueueDB.enableAllTaskQueues()
            if not result['OK']:
                raise Exception("Can't enable TaskQueues: %s" %
                                result['Message'])

        except Exception, e:
            self.log.exception()
            return S_ERROR("Cannot initialize taskqueueDB: %s" % str(e))
        return S_OK()
Example #3
0
class TaskQueueAgent( OptimizerModule ):
  """
      The specific Optimizer must provide the following methods:
      - initializeOptimizer() before each execution cycle
      - checkJob() - the main method called for each job
  """

  #############################################################################
  def initializeOptimizer( self ):
    """Initialize specific parameters for TaskQueueAgent.
    """
    self.waitingStatus = self.am_getOption( 'WaitingStatus', 'Waiting' )
    self.waitingMinorStatus = self.am_getOption( 'WaitingMinorStatus', 'Pilot Agent Submission' )
    try:
      self.taskQueueDB = TaskQueueDB()
      result = self.taskQueueDB.enableAllTaskQueues()
      if not result[ 'OK' ]:
        raise Exception( "Can't enable TaskQueues: %s" % result[ 'Message' ] )

    except Exception, e:
      self.log.exception()
      return S_ERROR( "Cannot initialize taskqueueDB: %s" % str( e ) )
    return S_OK()