本文整理汇总了Python中WMCore.DataStructs.Job.Job.getFiles方法的典型用法代码示例。如果您正苦于以下问题:Python Job.getFiles方法的具体用法?Python Job.getFiles怎么用?Python Job.getFiles使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WMCore.DataStructs.Job.Job
的用法示例。
在下文中一共展示了Job.getFiles方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: getFiles
# 需要导入模块: from WMCore.DataStructs.Job import Job [as 别名]
# 或者: from WMCore.DataStructs.Job.Job import getFiles [as 别名]
def getFiles(self, type="list"):
"""
_getFiles_
Retrieve a list of files that are associated with the job.
"""
if self["id"] == None:
return WMJob.getFiles(self, type)
existingTransaction = self.beginTransaction()
idAction = self.daofactory(classname="Jobs.LoadFiles")
fileIDs = idAction.execute(self["id"], conn=self.getDBConn(), transaction=self.existingTransaction())
currentFileIDs = WMJob.getFiles(self, type="id")
for fileID in fileIDs:
if fileID["id"] not in currentFileIDs:
self.loadData()
break
self.commitTransaction(existingTransaction)
return WMJob.getFiles(self, type)
示例2: associateFiles
# 需要导入模块: from WMCore.DataStructs.Job import Job [as 别名]
# 或者: from WMCore.DataStructs.Job.Job import getFiles [as 别名]
def associateFiles(self):
"""
_associateFiles_
Update the wmbs_job_assoc table with the files in the inputFiles for the
job.
"""
files = WMJob.getFiles(self, type="id")
if len(files) > 0:
addAction = self.daofactory(classname="Jobs.AddFiles")
addAction.execute(self["id"], files, conn=self.getDBConn(), transaction=self.existingTransaction())
return
示例3: associateWorkUnits
# 需要导入模块: from WMCore.DataStructs.Job import Job [as 别名]
# 或者: from WMCore.DataStructs.Job.Job import getFiles [as 别名]
def associateWorkUnits(self):
"""
_associateWorkUnits_
Add the WorkUnits that this job requires
Returns: N/A
"""
existsAction = self.daofactory(classname='WorkUnit.ExistsByTaskFileLumi')
addAction = self.daofactory(classname='WorkUnit.Add')
assocAction = self.daofactory(classname='Jobs.AddWorkUnits')
files = WMJob.getFiles(self)
jobMask = self['mask']
workflow = self.getWorkflow()
wfid = workflow['taskid']
lumisInJob = 0
for wmfile in files:
fileMask = jobMask.filterRunLumisByMask(runs=wmfile['runs'])
for runObj in fileMask:
lumisInJob += len(runObj.lumis)
for wmfile in files:
fileid = wmfile['id']
fileMask = jobMask.filterRunLumisByMask(runs=wmfile['runs'])
for runObj in fileMask:
run = runObj.run
lumis = runObj.lumis
for lumi in lumis:
if not existsAction.execute(taskid=wfid, fileid=fileid, run_lumi=runObj,
conn=self.getDBConn(), transaction=self.existingTransaction()):
addAction.execute(taskid=wfid, last_unit_count=lumisInJob, fileid=fileid, run=run,
lumi=lumi,
conn=self.getDBConn(), transaction=self.existingTransaction())
assocAction.execute(jobid=self["id"], fileid=fileid, run=run, lumi=lumi,
conn=self.getDBConn(), transaction=self.existingTransaction())
示例4: JobTest
# 需要导入模块: from WMCore.DataStructs.Job import Job [as 别名]
# 或者: from WMCore.DataStructs.Job.Job import getFiles [as 别名]
class JobTest(unittest.TestCase):
"""
_JobTest_
Testcase for the Job class
Instantiate a dummy Job object with a dummy Subscription
and a dummy Fileset full of random files as input
"""
def setUp(self):
"""
_setUp_
Initial Setup for the Job Testcase
"""
self.inputFiles = []
for i in range(1,1000):
lfn = "/store/data/%s/%s/file.root" % (random.randint(1000, 9999),
random.randint(1000, 9999))
size = random.randint(1000, 2000)
events = 1000
run = random.randint(0, 2000)
lumi = random.randint(0, 8)
file = File(lfn = lfn, size = size, events = events, checksums = {"cksum": "1"})
file.addRun(Run(run, *[lumi]))
self.inputFiles.append(file)
self.dummyJob = Job(files = self.inputFiles)
return
def tearDown(self):
"""
No tearDown method for this Testcase
"""
pass
def testGetFilesList(self):
"""
_testGetFilesList_
Verify that the Job::getFiles(type = "list") method returns the same
files in the same order that they were passed in.
"""
assert self.dummyJob.getFiles() == self.inputFiles, \
"ERROR: Initial fileset does not match Job fileset"
return
def testGetFilesSet(self):
"""
_testGetFilesSet_
Verify that the Job::getFiles(type = "set") method returns the correct
input files in the form of a set.
"""
assert self.dummyJob.getFiles(type = "set") == set(self.inputFiles), \
"ERROR: getFiles(type = 'set') does not work correctly."
return
def testGetFilesLFN(self):
"""
_testGetFilesLFN_
Verify that the Job::getFiles(type = "lfn") method returns the same
files in the same order that they were passed in.
"""
jobLFNs = self.dummyJob.getFiles(type = "lfn")
goldenLFNs = []
for file in self.inputFiles:
goldenLFNs.append(file["lfn"])
assert len(goldenLFNs) == len(jobLFNs), \
"ERROR: Job has different number of files than input"
for jobLFN in jobLFNs:
assert jobLFN in goldenLFNs, \
"ERROR: LFN missing from job."
return
def testAddFile(self):
"""
_testAddFile_
Verify that the Job::addFile() method works properly.
"""
dummyFileAddFile = File("/tmp/dummyFileAddFileTest", 1234, 1, 2)
self.dummyJob.addFile(dummyFileAddFile)
assert dummyFileAddFile in self.dummyJob.getFiles(), \
"ERROR: Couldn't add file to Job - addFile method error"
return
def testChangeState(self):
#.........这里部分代码省略.........