File indexing completed on 2026-04-10 08:38:59
0001 from pandacommon.pandalogger.PandaLogger import PandaLogger
0002
0003 from pandajedi.jediconfig import jedi_config
0004 from pandajedi.jedicore.FactoryBase import FactoryBase
0005
0006 logger = PandaLogger().getLogger(__name__.split(".")[-1])
0007
0008
0009
0010 class JobThrottler(FactoryBase):
0011
0012 def __init__(self, vo, sourceLabel):
0013 FactoryBase.__init__(self, vo, sourceLabel, logger, jedi_config.jobthrottle.modConfig)
0014
0015
0016 def toBeThrottled(self, vo, sourceLabel, cloudName, workQueue, resourceType):
0017 impl = self.getImpl(vo, sourceLabel)
0018 retVal = impl.toBeThrottled(vo, sourceLabel, cloudName, workQueue, resourceType)
0019
0020 self.minPriority = impl.minPriority
0021 self.maxNumJobs = impl.maxNumJobs
0022 self.lackOfJobs = impl.underNqLimit
0023 return retVal
0024
0025
0026 def mergeThrottled(self, vo, sourceLabel, thrLevel):
0027 impl = self.getImpl(vo, sourceLabel)
0028 return impl.mergeThrottled(thrLevel)