Example #1
0
    def __init__(self, task = None):
        self.generators = {}
        self.generatorFactory = GeneratorFactory()

        if not hasattr(task, 'data'):
            #We don't have a WMTask
            return
        if not hasattr(task.data, 'generators'):
            #We have a blank task with no generators
            return
        #Otherwise we have a fully formed task of some type

        configList = task.listGenerators()

        for generator in configList:
            self.addGenerator(generator, **task.getGeneratorSettings(generator))


        return
Example #2
0
    def createWMBSJobs(self, subscription, task):
        """
        Create the jobs for WMBS Components
        Send a subscription/task, get back a package.

        """

        splitter = SplitterFactory()
        geneFac  = GeneratorFactory()
        jobfactory = splitter(subscription = subscription,
                              package = "WMCore.DataStructs",
                              generators = geneFac.makeGenerators(task))
        params = task.jobSplittingParameters()
        jobGroups = jobfactory(**params)

        jobID = 1
        package = JobPackage()
        for group in jobGroups:
            for job in group.jobs:
                job['id'] = jobID
                jobID += 1
                package[job['id']] = job

        return package