示例#1
0
    def prepare(self, app, appconfig, appmasterconfig, jobmasterconfig):
        # some extra lines for simulation job options on DIRAC site
        opts = 'DatabaseSvc.DbType = "sqlite";\n'
        app.extra.input_buffers['data.opts'] += opts

        # extra lines for reconstruction and remove empty files
        if app.recoptsfile:
            app.extra.input_buffers['recdata.opts'] += opts
            extraopts = 'MixerAlg.UseNewDataDir = ".";\n'
            app.extra.input_buffers['recdata.opts'] += extraopts
        else:
            app.extra.input_buffers.pop('recdata.opts', None)

        # extra lines for analysis and remove empty files
        if app.anaoptsfile:
            app.extra.input_buffers['anadata.opts'] += opts
        else:
            app.extra.input_buffers.pop('anadata.opts', None)

        if app.extra.inputdata and app.extra.inputdata.hasLFNs():
            cat_opts = '\nFileCatalog().Catalogs = ' \
                       '["xmlcatalog_file:pool_xml_catalog.xml"]\n'
#            app.extra.input_buffers['data.py'] += cat_opts

        script = self._create_boss_script(app)
        sandbox = get_input_sandbox(app.extra)
        app.extra.outputsandbox += [
            'script.log', 'rantrg.log', 'bosslog', 'bosserr', 'recbosslog',
            'recbosserr', 'anabosslog', 'anabosserr'
        ]
        outputsandbox = app.extra.outputsandbox
        c = StandardJobConfig(script, sandbox, [], outputsandbox, None)

        dirac_script = DiracScript()
        dirac_script.job_type = 'Job()'
        dirac_script.exe = DiracApplication(app, script)
        dirac_script.platform = app.platform
        dirac_script.output_sandbox = outputsandbox
        dirac_script.default_sites = gConfig.getValue(
            '/Resources/Applications/DefaultSites/%s' %
            DfcOperation().getGroupName(), [])

        if app.extra.inputdata:
            dirac_script.inputdata = DiracInputData(app.extra.inputdata)

        if app.extra.outputdata:
            dirac_script.outputdata = app.extra.outputdata

        c.script = dirac_script
        return c
    def prepare(self,app,appconfig,appmasterconfig,jobmasterconfig):
        j = app.getJobObject()
        script = self._create_exe_script(app)
        c = StandardJobConfig(script,[File(script)],app.args,
                              j.outputsandbox,app.env)

        dirac_script = DiracScript()
        dirac_script.job_type = 'Job()'
        #dirac_script.exe = DiracExe(app.exe,app.args)
        dirac_script.exe = DiracExe('exe-script.py',[])
        dirac_script.output_sandbox = j.outputsandbox[:]

        if j.inputdata: dirac_script.inputdata = DiracInputData(j.inputdata)
        if j.outputdata: dirac_script.outputdata = j.outputdata
        c.script = dirac_script
        
        return c
示例#3
0
    def prepare(self, app, appconfig, appmasterconfig, jobmasterconfig):
        j = app.getJobObject()
        script = self._create_exe_script(app)
        c = StandardJobConfig(script, [File(script)], app.args,
                              j.outputsandbox, app.env)

        dirac_script = DiracScript()
        dirac_script.job_type = 'Job()'
        #dirac_script.exe = DiracExe(app.exe,app.args)
        dirac_script.exe = DiracExe('exe-script.py', [])
        dirac_script.output_sandbox = j.outputsandbox[:]

        if j.inputdata: dirac_script.inputdata = DiracInputData(j.inputdata)
        if j.outputdata: dirac_script.outputdata = j.outputdata
        c.script = dirac_script

        return c
    def prepare(self,app,appconfig,appmasterconfig,jobmasterconfig):
        j = app.getJobObject()
        input_dir = j.getInputWorkspace().getPath()
        script_name = '%s/%s' % (input_dir,os.path.basename(app.script.name))
        c = StandardJobConfig(script_name,[],[],j.outputsandbox,{})

        # copy script to input dir
        os.system('cp %s %s/.' % (app.script.name,input_dir))

        dirac_script = DiracScript()
        dirac_script.job_type = 'Job()'
        dirac_script.exe = DiracRoot(app,script_name)
        dirac_script.platform = getConfig('ROOT')['arch']
        dirac_script.output_sandbox = j.outputsandbox[:]

        if j.inputdata: dirac_script.inputdata = DiracInputData(j.inputdata)
        if j.outputdata: dirac_script.outputdata = j.outputdata
        c.script = dirac_script
        
        return c
示例#5
0
    def prepare(self, app, appconfig, appmasterconfig, jobmasterconfig):
        j = app.getJobObject()
        input_dir = j.getInputWorkspace().getPath()
        script_name = '%s/%s' % (input_dir, os.path.basename(app.script.name))
        c = StandardJobConfig(script_name, [], [], j.outputsandbox, {})

        # copy script to input dir
        os.system('cp %s %s/.' % (app.script.name, input_dir))

        dirac_script = DiracScript()
        dirac_script.job_type = 'Job()'
        dirac_script.exe = DiracRoot(app, script_name)
        dirac_script.platform = getConfig('ROOT')['arch']
        dirac_script.output_sandbox = j.outputsandbox[:]

        if j.inputdata: dirac_script.inputdata = DiracInputData(j.inputdata)
        if j.outputdata: dirac_script.outputdata = j.outputdata
        c.script = dirac_script

        return c