当前位置: 首页>>代码示例>>Python>>正文


Python ReqClient.resetFailedRequest方法代码示例

本文整理汇总了Python中DIRAC.RequestManagementSystem.Client.ReqClient.ReqClient.resetFailedRequest方法的典型用法代码示例。如果您正苦于以下问题:Python ReqClient.resetFailedRequest方法的具体用法?Python ReqClient.resetFailedRequest怎么用?Python ReqClient.resetFailedRequest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在DIRAC.RequestManagementSystem.Client.ReqClient.ReqClient的用法示例。


在下文中一共展示了ReqClient.resetFailedRequest方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: FileStatusTransformationAgent

# 需要导入模块: from DIRAC.RequestManagementSystem.Client.ReqClient import ReqClient [as 别名]
# 或者: from DIRAC.RequestManagementSystem.Client.ReqClient.ReqClient import resetFailedRequest [as 别名]

#.........这里部分代码省略.........
      if transFile['AvailableOnSource'] and transFile['AvailableOnTarget']:
        if transType == REPLICATION_TRANS:
          actions[SET_PROCESSED].append(transFile)
        if transType == MOVING_TRANS:
          actions[RETRY].append(transFile)

      elif transFile['AvailableOnSource'] and not transFile['AvailableOnTarget']:
        actions[RETRY].append(transFile)

      elif not transFile['AvailableOnSource'] and transFile['AvailableOnTarget']:
        actions[SET_PROCESSED].append(transFile)

      else:
        # not available on source and target
        actions[SET_DELETED].append(transFile)

  def retryFiles(self, transID, transFiles):
    """ resubmits request or sets file status to unused based on the retry strategy of transformation file """
    setFilesUnused = []
    setFilesAssigned = []
    res = self.retryStrategyForFiles(transID, transFiles)
    if not res['OK']:
      self.logError('Failure to determine retry strategy (unused / reset request) for files ', "%s" % res['Message'])
      return res

    retryStrategy = res['Value']
    for transFile in transFiles:
      if retryStrategy[transFile['TaskID']]['Strategy'] != RESET_REQUEST:
        setFilesUnused.append(transFile)
        continue

      requestID = retryStrategy[transFile['TaskID']]['RequestID']
      if self.enabled:
        res = self.reqClient.resetFailedRequest(requestID, allR=True)
        if not res['OK']:
          self.logError('Failed to reset request ', 'ReqID: %s Error: %s' % (requestID, res['Message']))
          continue

        if res['Value'] == "Not reset":
          self.logError('Failed to reset request ', 'ReqID: %s is non-recoverable' % requestID)
          continue

        setFilesAssigned.append(transFile)

        res = self.tClient.setTaskStatus(transID, transFile['TaskID'], 'Waiting')
        if not res['OK']:
          self.logError('Failure to set Waiting status for Task ID: ', "%s %s" % (transFile['TaskID'], res['Message']))
          continue

      self.accounting[RESET_REQUEST].append({'LFN': transFile['LFN'],
                                             'Status': transFile['Status'],
                                             'AvailableOnSource': transFile['AvailableOnSource'],
                                             'AvailableOnTarget': transFile['AvailableOnTarget']})

    if setFilesUnused:
      self.setFileStatus(transID, setFilesUnused, 'Unused')

    if setFilesAssigned:
      self.setFileStatus(transID, setFilesAssigned, 'Assigned')

    return S_OK()

  def applyActions(self, transID, actions):
    """ sets new file statuses and resets requests """
    for action, transFiles in actions.iteritems():
      if action == SET_PROCESSED and transFiles:
开发者ID:LCDsoft,项目名称:ILCDIRAC,代码行数:70,代码来源:FileStatusTransformationAgent.py

示例2: len

# 需要导入模块: from DIRAC.RequestManagementSystem.Client.ReqClient import ReqClient [as 别名]
# 或者: from DIRAC.RequestManagementSystem.Client.ReqClient.ReqClient import resetFailedRequest [as 别名]
    res = reqClient.getRequestNamesList( ['Failed'], maxReset );
    if not res['OK']:
        print "Error", res['Message'];
    elif res['Value']:
      requests = [reqName for reqName, _x, _y in res['Value']]

  if not requests:
    print "No requests to reset"
    Script.showHelp()
  else:
    reset = 0
    notReset = 0
    if len( requests ) > 1:
      gLogger.always( "Resetting now %d requests" % len( requests ) )
    for reqName in requests:
      if len( requests ) > 1:
        gLogger.always( '============ Request %s =============' % reqName )
      ret = reqClient.resetFailedRequest( reqName, all = all )
      if not ret['OK']:
        notReset += 1
        print "Error", ret['Message']
      else:
        if ret['Value'] != 'Not reset':
          reset += 1
        else:
          notReset += 1
    if reset:
      print "Reset", reset, 'Requests'
    if notReset:
      print "Not reset (doesn't exist or irrecoverable) %d requests" % notReset
开发者ID:SimonBidwell,项目名称:DIRAC,代码行数:32,代码来源:dirac-rms-reset-request.py

示例3: in

# 需要导入模块: from DIRAC.RequestManagementSystem.Client.ReqClient import ReqClient [as 别名]
# 或者: from DIRAC.RequestManagementSystem.Client.ReqClient.ReqClient import resetFailedRequest [as 别名]
    if cancel:
      if request.Status not in ('Done', 'Failed'):
        ret = reqClient.cancelRequest(requestID)
        if not ret['OK']:
          gLogger.error("Error canceling request %s" % reqID, ret['Message'])
        else:
          gLogger.notice("Request %s cancelled" % reqID)
      else:
        gLogger.notice("Request %s is in status %s, not cancelled" % (reqID, request.Status))

    elif allR or recoverableRequest(request):
      okRequests.append(str(requestID))
      if reset:
        gLogger.notice('============ Request %s =============' % requestID)
        ret = reqClient.resetFailedRequest(requestID, allR=allR)
        if not ret['OK']:
          gLogger.error("Error resetting request %s" % requestID, ret['Message'])
      else:
        if len(requests) > 1:
          gLogger.notice('\n===================================')
        dbStatus = reqClient.getRequestStatus(requestID).get('Value', 'Unknown')
        printRequest(request, status=dbStatus, full=full, verbose=verbose, terse=terse)

  if listJobs:
    gLogger.notice("List of %d jobs:\n" % len(jobIDList),
                   ','.join(str(jobID) for jobID in jobIDList))

  if status and okRequests:
    from DIRAC.Core.Utilities.List import breakListIntoChunks
    gLogger.notice('\nList of %d selected requests:' % len(okRequests))
开发者ID:DIRACGrid,项目名称:DIRAC,代码行数:32,代码来源:dirac-rms-request.py


注:本文中的DIRAC.RequestManagementSystem.Client.ReqClient.ReqClient.resetFailedRequest方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。