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

Parameters

requestName – name of the request

getRequestIDsForJobs(jobIDs)

returns request ids for jobs given jobIDs

Parameters

jobIDs (list) – list of jobIDs

Returns

S_OK( “Successful” : { jobID1 : Request, jobID2: Request, … } “Failed” : { jobID3: “error message”, … } )

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”, … } )