本文整理汇总了Python中WMComponent.ErrorHandler.ErrorHandlerPoller.ErrorHandlerPoller类的典型用法代码示例。如果您正苦于以下问题:Python ErrorHandlerPoller类的具体用法?Python ErrorHandlerPoller怎么用?Python ErrorHandlerPoller使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ErrorHandlerPoller类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testC_Jobs
def testC_Jobs(self):
"""
WMComponent_t.ErrorHandler_t.ErrorHandler_t.testJobs()
Mimics creation of component and test jobs failed in execute stage.
"""
workloadName = "TestWorkload"
workload = self.createWorkload(workloadName=workloadName)
workloadPath = os.path.join(self.testDir, "workloadTest", "TestWorkload", "WMSandbox", "WMWorkload.pkl")
testJobGroup = self.createTestJobGroup(nJobs=self.nJobs, workloadPath=workloadPath)
config = self.getConfig()
changer = ChangeState(config)
changer.propagate(testJobGroup.jobs, "created", "new")
changer.propagate(testJobGroup.jobs, "executing", "created")
changer.propagate(testJobGroup.jobs, "complete", "executing")
changer.propagate(testJobGroup.jobs, "jobfailed", "complete")
idList = self.getJobs.execute(state="JobFailed")
self.assertEqual(len(idList), self.nJobs)
testErrorHandler = ErrorHandlerPoller(config)
testErrorHandler.setup(None)
testErrorHandler.algorithm(None)
idList = self.getJobs.execute(state="JobFailed")
self.assertEqual(len(idList), 0)
idList = self.getJobs.execute(state="JobCooloff")
self.assertEqual(len(idList), self.nJobs)
return
示例2: testA_Create
def testA_Create(self):
"""
WMComponent_t.ErrorHandler_t.ErrorHandler_t:testCreate()
Mimics creation of component and test jobs failed in create stage.
"""
workloadName = 'TestWorkload'
workload = self.createWorkload(workloadName = workloadName)
workloadPath = os.path.join(self.testDir, 'workloadTest', 'TestWorkload',
'WMSandbox', 'WMWorkload.pkl')
testJobGroup = self.createTestJobGroup(nJobs = self.nJobs,
workloadPath = workloadPath,
workloadName = workloadName)
config = self.getConfig()
changer = ChangeState(config)
changer.propagate(testJobGroup.jobs, 'created', 'new')
changer.propagate(testJobGroup.jobs, 'createfailed', 'created')
idList = self.getJobs.execute(state = 'CreateFailed')
self.assertEqual(len(idList), self.nJobs)
testErrorHandler = ErrorHandlerPoller(config)
testErrorHandler.setup(None)
testErrorHandler.algorithm(None)
idList = self.getJobs.execute(state = 'CreateFailed')
self.assertEqual(len(idList), 0)
#These should go directly to exhausted
idList = self.getJobs.execute(state = 'Exhausted')
self.assertEqual(len(idList), self.nJobs)
# Check that it showed up in ACDC
collection = self.dataCS.getDataCollection(workloadName)
# Now look at what's inside
self.assertTrue(len(collection['filesets']) > 0)
for fileset in collection["filesets"]:
counter = 0
for f in fileset.listFiles():
counter += 1
self.assertTrue(f['lfn'] in ["/this/is/a/lfnA", "/this/is/a/lfnB"])
self.assertEqual(f['events'], 10)
self.assertEqual(f['size'], 1024)
self.assertEqual(f['parents'], [u'/this/is/a/parent'])
self.assertTrue(f['runs'][0]['lumis'] in [[12312], [12314, 12315, 12316]],
"Unknown lumi %s" % f['runs'][0]['lumis'])
self.assertTrue(f['merged'], 1)
self.assertTrue(f['first_event'], 88)
self.assertEqual(counter, 20)
return
示例3: testZ_Profile
def testZ_Profile(self):
"""
_testProfile_
Do a full profile of the poller
"""
nJobs = 100
workloadName = 'TestWorkload'
self.createWorkload(workloadName=workloadName)
workloadPath = os.path.join(self.testDir, 'workloadTest', workloadName,
'WMSandbox', 'WMWorkload.pkl')
testJobGroup = self.createTestJobGroup(nJobs=nJobs, workloadPath=workloadPath)
config = self.getConfig()
changer = ChangeState(config)
changer.propagate(testJobGroup.jobs, 'created', 'new')
changer.propagate(testJobGroup.jobs, 'executing', 'created')
changer.propagate(testJobGroup.jobs, 'complete', 'executing')
changer.propagate(testJobGroup.jobs, 'jobfailed', 'complete')
idList = self.getJobs.execute(state='JobFailed')
self.assertEqual(len(idList), nJobs)
testErrorHandler = ErrorHandlerPoller(config)
# set reqAuxDB None for the test,
testErrorHandler.reqAuxDB = None
testErrorHandler.setup(None)
startTime = time.time()
cProfile.runctx("testErrorHandler.algorithm()", globals(), locals(), filename="profStats.stat")
stopTime = time.time()
idList = self.getJobs.execute(state='CreateFailed')
self.assertEqual(len(idList), 0)
idList = self.getJobs.execute(state='JobFailed')
self.assertEqual(len(idList), 0)
idList = self.getJobs.execute(state='JobCooloff')
self.assertEqual(len(idList), nJobs)
print("Took %f seconds to run polling algo" % (stopTime - startTime))
p = pstats.Stats('profStats.stat')
p.sort_stats('cumulative')
p.print_stats(0.2)
return
示例4: testB_Submit
def testB_Submit(self):
"""
WMComponent_t.ErrorHandler_t.ErrorHandler_t:testSubmit()
Mimics creation of component and test jobs failed in submit stage.
"""
workloadName = 'TestWorkload'
self.createWorkload(workloadName=workloadName)
workloadPath = os.path.join(self.testDir, 'workloadTest', workloadName,
'WMSandbox', 'WMWorkload.pkl')
testJobGroup = self.createTestJobGroup(nJobs=self.nJobs,
workloadPath=workloadPath)
config = self.getConfig()
changer = ChangeState(config)
changer.propagate(testJobGroup.jobs, 'created', 'new')
changer.propagate(testJobGroup.jobs, 'submitfailed', 'created')
idList = self.getJobs.execute(state='SubmitFailed')
self.assertEqual(len(idList), self.nJobs)
testErrorHandler = ErrorHandlerPoller(config)
# set reqAuxDB None for the test,
testErrorHandler.reqAuxDB = None
testErrorHandler.setup(None)
testErrorHandler.algorithm(None)
idList = self.getJobs.execute(state='SubmitFailed')
self.assertEqual(len(idList), 0)
idList = self.getJobs.execute(state='SubmitCooloff')
self.assertEqual(len(idList), self.nJobs)
return
示例5: testA_Create
def testA_Create(self):
"""
WMComponent_t.ErrorHandler_t.ErrorHandler_t:testCreate()
Mimics creation of component and test jobs failed in create stage.
"""
njobs = 4
workloadName = 'TestWorkload'
self.createWorkload(workloadName=workloadName)
workloadPath = os.path.join(self.testDir, 'workloadTest', workloadName,
'WMSandbox', 'WMWorkload.pkl')
# testJobGroup = self.createTestJobGroup(nJobs=self.nJobs,
testJobGroup = self.createTestJobGroup(nJobs=njobs,
workloadPath=workloadPath,
workloadName=workloadName)
config = self.getConfig()
changer = ChangeState(config)
changer.propagate(testJobGroup.jobs, 'created', 'new')
changer.propagate(testJobGroup.jobs, 'createfailed', 'created')
idList = self.getJobs.execute(state='CreateFailed')
self.assertEqual(len(idList), njobs)
testErrorHandler = ErrorHandlerPoller(config)
# set reqAuxDB None for the test,
testErrorHandler.reqAuxDB = None
testErrorHandler.setup(None)
testErrorHandler.algorithm(None)
idList = self.getJobs.execute(state='CreateFailed')
self.assertEqual(len(idList), 0)
# These should go directly to exhausted
idList = self.getJobs.execute(state='Exhausted')
self.assertEqual(len(idList), njobs)
# Check that it showed up in ACDC
collection = self.dataCS.getDataCollection(workloadName)
# Now look at what's inside
self.assertTrue(len(collection['filesets']) > 0)
for fileset in collection["filesets"]:
counter = 0
for f in fileset.listFiles():
counter += 1
self.assertTrue(f['lfn'] in ["/this/is/a/lfnA", "/this/is/a/lfnB"])
self.assertEqual(f['events'], 10)
self.assertEqual(f['size'], 1024)
self.assertEqual(f['parents'], [u'/this/is/a/parent'])
self.assertTrue(f['runs'][0]['run_number'] == 10)
if f['lfn'] == "/this/is/a/lfnA":
self.assertItemsEqual(f['runs'][0]['lumis'], [12312])
elif f['lfn'] == "/this/is/a/lfnB":
self.assertItemsEqual(f['runs'][0]['lumis'], [12314, 12315, 12316])
else:
self.assertFail("File name is not known: %s" % f['lfn'])
self.assertEqual(f['merged'], 0)
self.assertEqual(f['first_event'], 88)
self.assertEqual(counter, njobs * 2) # each job has 2 files (thus 4 times duplicate)
return