コード例 #1
0
ファイル: TaskMaker.py プロジェクト: alexanderrichards/WMCore
    def processWorkload(self):
        """
        Split the workload into tasks, and finish all the process for the task

        """

        if self.workdir is None or self.workload is None:
            raise Exception(
                'Failure in processing workload %s in directory %s' % (str(self.workload), str(self.workdir)))

        if hasattr(self.workload, 'owner'):
            self.owner = self.workload.owner
        if hasattr(self.workload, 'owner_dn'):
            self.owner_dn = self.workload.owner_dn

        for toptask in self.workload.taskIterator():
            # for each task, build sandbox, register, and subscribe
            for task in toptask.taskIterator():
                if task.name() in self.workflowDict.keys():
                    raise Exception(
                        'Duplicate task name for workload %s, task %s' % (self.workload.name(), task.name()))

                if not self.skipSubscription:
                    self.subscribeWMBS(task)

        sandboxCreator = SandboxCreator()
        sandboxCreator.makeSandbox(self.workdir, self.workload)
        logging.info('Done processing workload %s' % (self.workload.name()))

        return True
コード例 #2
0
ファイル: TaskMaker.py プロジェクト: tsarangi/WMCore
    def processWorkload(self):
        """
        Split the workload into tasks, and finish all the process for the task

        """

        if self.workdir == None or self.workload == None:
            raise Exception(
                'Failure in processing workload %s in directory %s' %
                (str(self.workload), str(self.workdir)))

        if hasattr(self.workload, 'owner'):
            self.owner = self.workload.owner
        if hasattr(self.workload, 'owner_dn'):
            self.owner_dn = self.workload.owner_dn

        for toptask in self.workload.taskIterator():
            #for each task, build sandbox, register, and subscribe
            for task in toptask.taskIterator():
                if task.name() in self.workflowDict.keys():
                    raise Exception(
                        'Duplicate task name for workload %s, task %s' %
                        (self.workload.name(), task.name()))

                if not self.skipSubscription:
                    subscribeInfo = self.subscribeWMBS(task)

        sandboxCreator = SandboxCreator()
        sandboxCreator.makeSandbox(self.workdir, self.workload)
        logging.info('Done processing workload %s' % (self.workload.name()))

        return True
コード例 #3
0
 def produceSandboxForWorkflow(self, workload, targetFile = None, includeWMCore = True ):
     """
     Given a workflow, builds a sandbox for interactive use
     """
     from WMCore.WMRuntime.SandboxCreator import SandboxCreator
     creator = SandboxCreator()
     if not includeWMCore:
         creator.disableWMCorePackaging()
     tempDir = tempfile.mkdtemp()
     try:
         tarballPath = creator.makeSandbox(tempDir, workload)
     finally:
         pass
     #    if os.path.exists( tempDir ):
     #        shutil.rmtree( tempDir )
     return tarballPath
コード例 #4
0
ファイル: WMBSHelper.py プロジェクト: annawoodard/WMCore
 def createSandbox(self):
     """Create the runtime sandbox"""
     sandboxCreator = SandboxCreator()
     sandboxCreator.makeSandbox(self.cachepath, self.wmSpec)
コード例 #5
0
ファイル: WMBSHelper.py プロジェクト: johnhcasallasl/WMCore
 def createSandbox(self):
     """Create the runtime sandbox"""
     sandboxCreator = SandboxCreator()
     sandboxCreator.makeSandbox(self.cachepath, self.wmSpec)