本文整理汇总了Python中DIRAC.Core.Utilities.ProcessPool.ProcessPool.processAllResults方法的典型用法代码示例。如果您正苦于以下问题:Python ProcessPool.processAllResults方法的具体用法?Python ProcessPool.processAllResults怎么用?Python ProcessPool.processAllResults使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DIRAC.Core.Utilities.ProcessPool.ProcessPool
的用法示例。
在下文中一共展示了ProcessPool.processAllResults方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: runTest
# 需要导入模块: from DIRAC.Core.Utilities.ProcessPool import ProcessPool [as 别名]
# 或者: from DIRAC.Core.Utilities.ProcessPool.ProcessPool import processAllResults [as 别名]
def runTest():
global nClients, nQueries, testType, resultTest, testDir, lfnListFile
resultTest = []
pp = ProcessPool(nClients)
testFunction = eval(testType)
for c in xrange(nClients):
pp.createAndQueueTask(testFunction, [nQueries],
callback=finalize,
exceptionCallback=doException)
pp.processAllResults(3600)
pp.finalize(0)
timeResult = []
for testTime, success, failure in resultTest:
# print testTime,success,failure
timeResult += testTime
averageTime, errorTime = doStats(timeResult)
rateResult = [nClients / t for t in timeResult]
averageRate, errorRate = doStats(rateResult)
if testDir:
print "\nTest results for clients %d, %s" % (nClients, testDir)
else:
print "\nTest results for clients %d, %s" % (nClients, lfnListFile)
print "Query time: %.2f +/- %.2f" % (averageTime, errorTime)
print "Query rate: %.2f +/- %.2f" % (averageRate, errorRate)
return((averageTime, errorTime), (averageRate, errorRate))
示例2: ProcessPool
# 需要导入模块: from DIRAC.Core.Utilities.ProcessPool import ProcessPool [as 别名]
# 或者: from DIRAC.Core.Utilities.ProcessPool.ProcessPool import processAllResults [as 别名]
pPool = ProcessPool(10,50,50)
pPool.daemonize()
# dirlist = ['prod/ilc/mc-dbd/generated','prod/ilc/mc-dbd/ild']
# dirlist= ['prod/ilc/mc-dbd/generated/500-TDR_ws/higgs']
# dirlist= ['prod/ilc/mc-dbd/generated/250-TDR_ws/higgs','prod/ilc/mc-dbd/generated/350-TDR_ws/higgs']
#dirlist= ['prod/ilc/mc-dbd/generated/250-TDR_ws']
#dirlist= ['prod/ilc/mc-dbd/generated/250-TDR_ws/1f',
# 'prod/ilc/mc-dbd/generated/250-TDR_ws/3f',
# 'prod/ilc/mc-dbd/generated/250-TDR_ws/aa_lowpt',
# 'prod/ilc/mc-dbd/generated/250-TDR_ws/aa_minijet']
#dirlist= ['prod/ilc/mc-dbd/generated/250-TDR_ws/aa_2f',
# 'prod/ilc/mc-dbd/generated/350-TDR_ws/3f',
# 'prod/ilc/mc-dbd/generated/350-TDR_ws/1f',
# 'prod/ilc/mc-dbd/generated/350-TDR_ws/aa_minijet']
lfcHosts = ['grid-lfc.desy.de']
for dir in dirlist:
path = "/ilc/%s" % (dir)
print "Queueing user", dir, pPool.getFreeSlots(),pPool.getNumWorkingProcesses(),pPool.hasPendingTasks(),pPool.getNumIdleProcesses(), lfcHosts[0]
result = pPool.createAndQueueTask( processDir,[path,True,lfcHosts[0]],callback=finalizeDirectory )
if not result['OK']:
print "Failed queueing", path
pPool.processAllResults()
print "LFC_to_DFC completed."
示例3: Process
# 需要导入模块: from DIRAC.Core.Utilities.ProcessPool import ProcessPool [as 别名]
# 或者: from DIRAC.Core.Utilities.ProcessPool.ProcessPool import processAllResults [as 别名]
# 'lfc-lhcb.grid.sara.nl',
# 'lfclhcb.pic.es',
# 'lhcb-lfc.gridpp.rl.ac.uk']
lfcHosts = ['prod-lfc-lhcb-ro.cern.ch']
# path = "/lhcb/LHCb"
path = '/lhcb/user/c/chaen'
print "Queueing task for directory", path, lfcHosts[0]
writerProc = Process( target = writer, args = ( 'lfc_dfc.out', writerQueue, stopFlag ) )
writerProc.start()
result = pPool.createAndQueueTask( processDir, [path , writerQueue, False, lfcHosts[0]], callback = finalizeDirectory )
if not result['OK']:
print "Failed queueing", path
for i in range(20):
pPool.processResults()
time.sleep(1)
pPool.processAllResults( timeout = 300 )
stopFlag.value = 1
writerQueue.put( "Exit" )
writerProc.join()