Пример #1
0
 def __init__(self, **args):
     StartPolicyInterface.__init__(self, **args)
     self.args.setdefault('SliceType', 'NumberOfFiles')
     self.args.setdefault('SliceSize', 1)
     self.lumiType = "NumberOfLumis"
     self.sites = []
     self.siteDB = SiteDB()
Пример #2
0
 def __init__(self, **args):
     StartPolicyInterface.__init__(self, **args)
     self.args.setdefault('SliceType', 'NumberOfRuns')
     self.args.setdefault('SliceSize', 1)
     self.lumiType = "NumberOfLumis"
     self.sites = []
     self.cric = CRIC()
Пример #3
0
 def __init__(self, **args):
     StartPolicyInterface.__init__(self, **args)
     self.args.setdefault("SliceType", "NumberOfFiles")
     self.args.setdefault("SliceSize", 1)
     self.lumiType = "NumberOfLumis"
     self.sites = []
     self.siteDB = SiteDB()
Пример #4
0
    def __init__(self, **args):
        StartPolicyInterface.__init__(self, **args)
        self.args.setdefault('SliceType', 'NumberOfFiles')
        self.args.setdefault('SliceSize', 1)
        self.args.setdefault('SplittingAlgo', 'LumiBased')
        self.lumiType = "NumberOfLumis"

        # Define how to handle the different splitting algorithms
        self.algoMapping = {
            'Harvest': self.singleChunk,
            'ParentlessMergeBySize': self.singleChunk,
            'MinFileBased': self.singleChunk,
            'LumiBased': self.singleChunk,
            'EventAwareLumiBased': self.singleChunk,
            'EventBased': self.singleChunk
        }
        self.unsupportedAlgos = ['WMBSMergeBySize', 'SiblingProcessingBased']
        self.defaultAlgo = self.fixedSizeChunk
        self.sites = []
        if os.getenv("WMAGENT_USE_CRIC", False) or os.getenv(
                "WMCORE_USE_CRIC", False):
            self.cric = CRIC()
        else:
            self.cric = None
            self.siteDB = SiteDB()
Пример #5
0
    def __init__(self, **args):
        StartPolicyInterface.__init__(self, **args)
        self.args.setdefault('SliceType', 'NumberOfFiles')
        self.args.setdefault('SliceSize', 1)
        self.lumiType = "NumberOfLumis"

        # Initialize a list of sites where the data is
        self.sites = []
Пример #6
0
    def __init__(self, **args):
        StartPolicyInterface.__init__(self, **args)
        self.args.setdefault("SliceType", "NumberOfFiles")
        self.args.setdefault("SliceSize", 1)
        self.lumiType = "NumberOfLumis"

        # Initialize a list of sites where the data is
        self.sites = []

        # Initialize modifiers of the policy
        self.blockBlackListModifier = []
Пример #7
0
    def validate(self):
        """Check args and spec work with block splitting"""
        StartPolicyInterface.validateCommon(self)

        if self.initialTask.totalEvents() < 1:
            raise WorkQueueNoWorkError(self.wmspec, 'Invalid total events selection: %s' % str(self.initialTask.totalEvents()))

        if self.mask and self.mask['LastEvent'] < self.mask['FirstEvent']:
            raise WorkQueueWMSpecError(self.wmspec, "Invalid start & end events")

        if self.mask and self.mask['LastLumi'] < self.mask['FirstLumi']:
            raise WorkQueueWMSpecError(self.wmspec, "Invalid start & end lumis")
Пример #8
0
    def __init__(self, **args):
        StartPolicyInterface.__init__(self, **args)
        self.args.setdefault('SliceType', 'NumberOfFiles')
        self.args.setdefault('SliceSize', 1)
        self.lumiType = "NumberOfLumis"

        # Initialize a list of sites where the data is
        self.sites = []

        # Initialize modifiers of the policy
        self.blockBlackListModifier = []
        self.cric = CRIC()
Пример #9
0
    def validate(self):
        """Check args and spec work with block splitting"""
        StartPolicyInterface.validateCommon(self)

        if self.initialTask.totalEvents() < 1:
            raise WorkQueueNoWorkError(self.wmspec, 'Invalid total events selection: %s' % str(self.initialTask.totalEvents()))

        if self.mask and self.mask['LastEvent'] < self.mask['FirstEvent']:
            raise WorkQueueWMSpecError(self.wmspec, "Invalid start & end events")

        if self.mask and self.mask['LastLumi'] < self.mask['FirstLumi']:
            raise WorkQueueWMSpecError(self.wmspec, "Invalid start & end lumis")
Пример #10
0
 def __init__(self, **args):
     StartPolicyInterface.__init__(self, **args)
     self.args.setdefault('SliceType', 'NumberOfRuns')
     self.args.setdefault('SliceSize', 1)
     self.lumiType = "NumberOfLumis"
     self.sites = []
     if os.getenv("WMAGENT_USE_CRIC", False) or os.getenv(
             "WMCORE_USE_CRIC", False):
         self.cric = CRIC()
     else:
         self.cric = None
         self.siteDB = SiteDB()
Пример #11
0
    def __init__(self, **args):
        StartPolicyInterface.__init__(self, **args)
        self.args.setdefault('SliceType', 'NumberOfFiles')
        self.args.setdefault('SliceSize', 1)
        self.lumiType = "NumberOfLumis"

        # Initialize a list of sites where the data is
        self.sites = []

        # Initialize modifiers of the policy
        self.blockBlackListModifier = []
        if os.getenv("WMAGENT_USE_CRIC", False) or os.getenv(
                "WMCORE_USE_CRIC", False):
            self.cric = CRIC()
        else:
            self.cric = None
            self.siteDB = SiteDB()
Пример #12
0
    def __init__(self, **args):
        StartPolicyInterface.__init__(self, **args)
        self.args.setdefault('SliceType', 'NumberOfFiles')
        self.args.setdefault('SliceSize', 1)
        self.args.setdefault('SplittingAlgo', 'LumiBased')
        self.lumiType = "NumberOfLumis"

        # Define how to handle the different splitting algorithms
        self.algoMapping = {'Harvest' : self.singleChunk,
                            'ParentlessMergeBySize' : self.singleChunk,
                            'MinFileBased' : self.singleChunk,
                            'LumiBased' : self.singleChunk,
                            'EventAwareLumiBased' : self.singleChunk,
                            'EventBased' : self.singleChunk}
        self.unsupportedAlgos = ['WMBSMergeBySize', 'SiblingProcessingBased']
        self.defaultAlgo = self.fixedSizeChunk
        self.sites = []
Пример #13
0
 def validate(self):
     """Check args and spec work with block splitting"""
     StartPolicyInterface.validateCommon(self)
Пример #14
0
 def __init__(self, **args):
     StartPolicyInterface.__init__(self, **args)
     self.args.setdefault('SliceType', 'NumberOfEvents')
     self.args.setdefault('SliceSize', 1000)         # events per job
     self.args.setdefault('MaxJobsPerElement', 250)  # jobs per WQE
Пример #15
0
 def validate(self):
     """Check args and spec work with block splitting"""
     StartPolicyInterface.validateCommon(self)
Пример #16
0
 def __init__(self, **args):
     StartPolicyInterface.__init__(self, **args)
Пример #17
0
 def __init__(self, **args):
     StartPolicyInterface.__init__(self, **args)
     self.args.setdefault('SliceType', 'NumberOfFiles')
     self.args.setdefault('SliceSize', 1)
     self.lumiType = "NumberOfLumis"
Пример #18
0
 def validate(self):
     """Check args and spec work with block splitting"""
     StartPolicyInterface.validateCommon(self)
     if not self.initialTask.inputDataset():
         raise WorkQueueWMSpecError(self.wmspec, 'No input dataset')
Пример #19
0
 def __init__(self, **args):
     StartPolicyInterface.__init__(self, **args)