File indexing completed on 2026-04-09 07:58:19
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 """
0013 operations related to Requests.
0014 """
0015
0016 from idds.common.constants import RequestStatus
0017
0018 from idds.core import requests
0019
0020
0021 def add_request(scope, name, requester=None, request_type=None, transform_tag=None, workload_id=None,
0022 status=RequestStatus.New, priority=0, lifetime=None, request_metadata=None):
0023 """
0024 Add a request.
0025
0026 :param scope: The scope of the request data.
0027 :param name: The name of the request data.
0028 :param requestr: The requester, such as panda, user and so on.
0029 :param request_type: The type of the request, such as ESS, DAOD.
0030 :param transform_tag: Transform tag, such as ATLAS AMI tag.
0031 :param workload_id: The external workload id.
0032 :param status: The request status as integer.
0033 :param priority: The priority as integer.
0034 :param lifetime: The life time as umber of days.
0035 :param request_metadata: The metadata as json.
0036
0037 :returns: request id.
0038 """
0039 kwargs = {'scope': scope, 'name': name, 'requester': requester, 'request_type': request_type,
0040 'transform_tag': transform_tag, 'status': status, 'priority': priority,
0041 'workload_id': workload_id, 'lifetime': lifetime, 'request_metadata': request_metadata}
0042 return requests.add_request(**kwargs)
0043
0044
0045 def get_request(request_id=None, workload_id=None):
0046 """
0047 Get a request or raise a NoObject exception.
0048
0049 :param request_id: The id of the request.
0050 :param workload_id: The workload_id of the request.
0051
0052 :raises NoObject: If no request is founded.
0053
0054 :returns: Request.
0055 """
0056 return requests.get_request(request_id=request_id, workload_id=workload_id)
0057
0058
0059 def extend_request(request_id=None, workload_id=None, lifetime=30):
0060 """
0061 extend an request's lifetime.
0062
0063 :param request_id: The id of the request.
0064 :param workload_id: The workload_id of the request.
0065 :param lifetime: The life time as umber of days.
0066 """
0067 return requests.extend_request(request_id=request_id, workload_id=workload_id, lifetime=lifetime)
0068
0069
0070 def cancel_request(request_id=None, workload_id=None):
0071 """
0072 cancel an request.
0073
0074 :param request_id: The id of the request.
0075 :param workload_id: The workload_id of the request.
0076 """
0077 return requests.cancel_request(request_id=request_id, workload_id=workload_id)
0078
0079
0080 def update_request(request_id, parameters):
0081 """
0082 update an request.
0083
0084 :param request_id: the request id.
0085 :param parameters: A dictionary of parameters.
0086 """
0087 return requests.update_request(request_id, parameters)