Here are the examples of the python api DIRAC.RequestManagementSystem.Client.Request.Request.JobID taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
2 Examples
1
Example 1
Project: DIRAC Source File: RequestDB.py
def getRequestIDsForJobs( self, jobIDs ):
""" read request ids for jobs given jobIDs
:param list jobIDs: list of jobIDs
"""
self.log.debug( "getRequestIDsForJobs: got %s jobIDs to check" % str( jobIDs ) )
if not jobIDs:
return S_ERROR( "Must provide jobID list as argument." )
if isinstance( jobIDs,( long, int ) ):
jobIDs = [ jobIDs ]
jobIDs = set( jobIDs )
reqDict = { "Successful": {}, "Failed": {} }
session = self.DBSession()
try:
ret = session.query( Request.JobID, Request.RequestID )\
.filter( Request.JobID.in_( jobIDs ) )\
.all()
reqDict['Successful'] = dict( ( jobId, reqID ) for jobId, reqID in ret )
reqDict['Failed'] = dict( (jobid, 'Request not found') for jobid in jobIDs - set(reqDict['Successful']))
except Exception as e:
self.log.exception( "getRequestIDsForJobs: unexpected exception", lException = e )
return S_ERROR( "getRequestIDsForJobs: unexpected exception : %s" % e )
finally:
session.close()
return S_OK( reqDict )
1
Example 2
Project: DIRAC Source File: RequestDB.py
def readRequestsForJobs( self, jobIDs = None ):
""" read request for jobs
:param list jobIDs: list of JobIDs
:return: S_OK( "Successful" : { jobID1 : Request, jobID2: Request, ... }
"Failed" : { jobID3: "error message", ... } )
"""
self.log.debug( "readRequestForJobs: got %s jobIDs to check" % str( jobIDs ) )
if not jobIDs:
return S_ERROR( "Must provide jobID list as argument." )
if isinstance( jobIDs, ( long, int ) ):
jobIDs = [ jobIDs ]
jobIDs = set( jobIDs )
reqDict = { "Successful": {}, "Failed": {} }
# expire_on_commit is set to False so that we can still use the object after we close the session
session = self.DBSession( expire_on_commit = False )
try:
ret = session.query( Request.JobID, Request )\
.options( joinedload_all( '__operations__.__files__' ) )\
.filter( Request.JobID.in_( jobIDs ) ).all()
reqDict['Successful'] = dict( ( jobId, reqObj ) for jobId, reqObj in ret )
reqDict['Failed'] = dict( ( jobid, 'Request not found' ) for jobid in jobIDs - set( reqDict['Successful'] ) )
session.expunge_all()
except Exception as e:
self.log.exception( "readRequestsForJobs: unexpected exception", lException = e )
return S_ERROR( "readRequestsForJobs: unexpected exception : %s" % e )
finally:
session.close()
return S_OK( reqDict )