diff --git a/src/python/WMComponent/JobCreator/JobCreatorPoller.py b/src/python/WMComponent/JobCreator/JobCreatorPoller.py index d0f1ad6db1..ffe924bd0e 100644 --- a/src/python/WMComponent/JobCreator/JobCreatorPoller.py +++ b/src/python/WMComponent/JobCreator/JobCreatorPoller.py @@ -338,6 +338,10 @@ def __init__(self, config): self.agentName = getattr(config.Agent, 'hostName', '') self.glideinLimits = getattr(config.JobCreator, 'GlideInRestriction', None) + # Load workflows/filesets to skip + self.skipWorkflows = getattr(config.JobCreator, 'skipWorkflows', []) + self.skipFilesets = getattr(config.JobCreator, 'skipFilesets', []) + try: self.jobCacheDir = getattr(config.JobCreator, 'jobCacheDir', os.path.join(config.JobCreator.componentDir, 'jobCacheDir')) @@ -443,6 +447,15 @@ def pollSubscriptions(self): wmbsSubscription['workflow'] = workflow wmWorkload = retrieveWMSpec(workflow=workflow) + # Check if we should skip this workflow or fileset + if workflow.name in self.skipWorkflows: + logging.info("Skipping workflow %s as configured in skipWorkflows", workflow.name) + continue + + if wmbsSubscription and wmbsSubscription.get('fileset') and wmbsSubscription['fileset'].name in self.skipFilesets: + logging.info("Skipping fileset %s as configured in skipFilesets", wmbsSubscription['fileset'].name) + continue + if not workflow.task or not wmWorkload: # Then we have a problem # We NEED a sandbox