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
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
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