RequestDB

Frontend for ReqDB

mod:RequestDB

synopsis:db holding Requests

db holding Request, Operation and File

class DIRAC.RequestManagementSystem.DB.RequestDB.RequestDB

Bases: object

class RequestDB

db holding requests

__init__()

c’tor

Parameters:self – self reference
cancelRequest(requestID)
createTables()

create tables

deleteRequest(requestID)

delete request given its ID

Parameters:
  • requestID (str) – request.RequestID
  • connection (mixed) – connection to use if any
getBulkRequests(numberOfRequest=10, assigned=True)

read as many requests as requested for execution

Parameters:
  • numberOfRequest (int) – Number of Request we want (default 10)
  • assigned (bool) – if True, the status of the selected requests are set to assign
Returns:

a dictionary of Request objects indexed on the RequestID

getDBSummary()

get db summary

getDigest(requestID)

get digest for request given its id

Parameters:requestName (str) – request id
getDistinctValues(tableName, columnName)

For a given table and a given field, return the list of of distinct values in the DB

getRequest(reqID=0, assigned=True)

read request for execution

Parameters:reqID – request’s ID (default 0) If 0, take a pseudo random one
getRequestCountersWeb(groupingAttribute, selectDict)

For the web portal. Returns a dictionary {value : counts} for a given key. The key can be any field from the RequestTable. or “Type”, which will be interpreted as ‘Operation.Type’

getRequestFileStatus(requestID, lfnList)

get status for files in request given its id

Parameters:
  • requestID (str) – Request.RequestID
  • lfnList (list) – list of LFNs
getRequestIDForName(requestName)
read request id for given name
if the name is not unique, an error is returned

:param requestName : name of the request

getRequestIDsForJobs(jobIDs)

read request ids for jobs given jobIDs

Parameters:jobIDs (list) – list of jobIDs
getRequestIDsList(statusList=None, limit=None, since=None, until=None, getJobID=False)

select requests with status in :statusList:

getRequestInfo(requestID)

get request info given Request.RequestID

getRequestStatus(requestID)

get request status for a given request ID

getRequestSummaryWeb(selectDict, sortList, startItem, maxItems)

Returns a list of Request for the web portal

Parameters:
  • selectDict (dict) – parameter on which to restrain the query {key : Value} key can be any of the Request columns, ‘Type’ (interpreted as Operation.Type) and ‘FromData’ and ‘ToData’ are matched against the LastUpdate field
  • sortList (list) – [sorting column, ASC/DESC]
  • startItem (int) – start item (for pagination)
  • maxItems (int) – max items (for pagination)
getScheduledRequest(operationID)
peekRequest(requestID)

get request (ro), no update on states

Parameters:requestID – Request.RequestID
putRequest(request)

update or insert request into db

Parameters:request (Request) – Request instance
readRequestsForJobs(jobIDs=None)

read request for jobs

Parameters:jobIDs (list) – list of JobIDs
Returns:S_OK( “Successful” : { jobID1 : Request, jobID2: Request, … } “Failed” : { jobID3: “error message”, … } )