Request¶
- mod
Request
request implementation
- class DIRAC.RequestManagementSystem.Client.Request.Request(fromDict=None)¶
Bases:
object
- Parameters
RequestID (int) – requestID
Name (str) – request’ name
OwnerDN (str) – request’s owner DN
OwnerGroup (str) – request owner group
Setup (str) – DIRAC setup
SourceComponent (str) – whatever
JobID (int) – jobID
CreationTime (datetime.datetime) – UTC datetime
SubmissionTime (datetime.datetime) – UTC datetime
LastUpdate (datetime.datetime) – UTC datetime
NotBefore (datetime.datetime) – UTC datetime
Status (str) – request’s status
operations (TypedList.TypedList) – list of operations
It is managed by SQLAlchemy, so the RequestID should never be set by hand (except when constructed from JSON of course…)
- ALL_STATES = ('Waiting', 'Failed', 'Done', 'Scheduled', 'Assigned', 'Canceled')¶
- property CreationTime¶
creation time getter
- DIRACSetup¶
- Error¶
- FINAL_STATES = ('Done', 'Failed', 'Canceled')¶
- JobID¶
- property LastUpdate¶
last update getter
- property NotBefore¶
Getter for NotBefore time
- property Order¶
ro execution order getter
- OwnerDN¶
- OwnerGroup¶
- RequestID¶
- RequestName¶
- property SourceComponent¶
- property Status¶
status getter
- property SubmitTime¶
request’s submission time getter
- __init__(fromDict=None)¶
c’tor
- Parameters
self – self reference
fromDict – if false, new request. Can be json string that represents the object, or the dictionary directly
- addOperation(operation)¶
add :operation: to list of Operations
- Parameters
self – self reference
operation (Operation.Operation) – Operation to be inserted
- delayNextExecution(deltaTime)¶
This helper sets the NotBefore attribute in deltaTime minutes in the future
- Parameters
deltaTime – time in minutes before next execution
- getDigest()¶
return digest for request
- getWaiting()¶
get waiting operation if any
- indexOf(subReq)¶
return index of subReq (execution order)
- insertAfter(newOperation, existingOperation)¶
insert :newOperation: just after :existingOperation:
- Parameters
self – self reference
newOperation (Operation.Operation) – Operation to be inserted
existingOperation (Operation.Operation) – next Operation sibling
- insertBefore(newOperation, existingOperation)¶
insert :newOperation: just before :existingOperation:
- Parameters
self – self reference
newOperation (Operation.Operation) – Operation to be inserted
existingOperation (Operation.Operation) – previous Operation sibling
- isEmpty()¶
Evaluate if the request is empty
- optimize()¶
Merges together the operations that can be merged. They need to have the following arguments equal: * Type * Arguments * SourceSE * TargetSE * Catalog It also makes sure that the maximum number of Files in an Operation is never overcome.
- CAUTION: this method is meant to be called before inserting into the DB.
So if the RequestID is not 0, we don’t touch
- Returns
S_ERROR if the Request should not be optimized (because already in the DB) S_OK(True) if a optimization was carried out S_OK(False) if no optimization were carried out
- subStatusList()¶
list of statuses for all operations
- toJSON()¶
Returns the JSON formated string that describes the request