Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-10 08:39:00

0001 from pandacommon.pandalogger.PandaLogger import PandaLogger
0002 
0003 from pandajedi.jedicore.MsgWrapper import MsgWrapper
0004 
0005 from .JobThrottlerBase import JobThrottlerBase
0006 
0007 logger = PandaLogger().getLogger(__name__.split(".")[-1])
0008 
0009 
0010 # class to throttle general jobs
0011 class GenJobThrottler(JobThrottlerBase):
0012     # constructor
0013     def __init__(self, taskBufferIF):
0014         JobThrottlerBase.__init__(self, taskBufferIF)
0015 
0016     # check if throttled
0017     def toBeThrottled(self, vo, prodSourceLabel, cloudName, workQueue, resourceType):
0018         # make logger
0019         tmpLog = MsgWrapper(logger)
0020         tmpLog.debug(f"start vo={vo} label={prodSourceLabel} cloud={cloudName} workQueue={workQueue.queue_name}")
0021         # check if unthrottled
0022         if workQueue.queue_share is None:
0023             tmpLog.debug("  done : unthrottled since share=None")
0024             return self.retUnThrottled
0025         tmpLog.debug("  done : SKIP")
0026         return self.retThrottled