|
def | __init__ (self, name, hours=0, nCores=1, account=None, queue=None, memMB=0, mounts=[], basedir="") |
|
def | write (self, useSingularity=True, useApptainer=False, extraDirs=[]) |
|
A class containing all information necessary to run given bash commands in an arbitrary batch system.
Definition at line 5 of file batchJobBase.py.
◆ __init__()
def sherpaTarCreator.batchJobBase.batchJobBase.__init__ |
( |
|
self, |
|
|
|
name, |
|
|
|
hours = 0 , |
|
|
|
nCores = 1 , |
|
|
|
account = None , |
|
|
|
queue = None , |
|
|
|
memMB = 0 , |
|
|
|
mounts = [] , |
|
|
|
basedir = "" |
|
) |
| |
Definition at line 8 of file batchJobBase.py.
8 def __init__(self, name, hours=0, nCores=1, account=None, queue=None, memMB=0, mounts=[], basedir=""):
13 self.account = account
22 self.basedir = basedir
25 self.dependsOnAny = []
◆ write()
def sherpaTarCreator.batchJobBase.batchJobBase.write |
( |
|
self, |
|
|
|
useSingularity = True , |
|
|
|
useApptainer = False , |
|
|
|
extraDirs = [] |
|
) |
| |
Definition at line 27 of file batchJobBase.py.
27 def write(self, useSingularity=True, useApptainer=False, extraDirs=[]):
28 executable =
"#!/bin/sh -\n"
32 platform =
str(os.environ[
'COMPILER_PATH']).
split(
'/')[-1].
replace(
'el9',
'almalinux9')
33 executable +=
'if [ "$1" != "--really" ]; then \n'
34 executable +=
' exec singularity exec -e --no-home'
35 for dir
in [
"/cvmfs",
"/var", self.basedir,
"$(pwd | cut -d '/' -f 1-2)"] + extraDirs:
36 executable +=
' -B '+dir
37 executable +=
' /cvmfs/atlas.cern.ch/repo/containers/fs/singularity/'
38 executable += platform +
' /bin/bash -- "$0" --really "$@";\n'
40 executable +=
"shift;\n\n"
41 executable +=
"export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase\n"
42 executable +=
"source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh\n"
46 wrapperfilename = self.basedir+
"/"+self.name+
"_wrapper.sh"
47 platform =
str(os.environ[
'COMPILER_PATH']).
split(
'/')[-1].
replace(
'el9',
'almalinux9')
48 executable +=
'export ALRB_CONT_SWTYPE="apptainer"\n'
49 executable +=
'export ALRB_CONT_PRESETUP="hostname -f; date; id -a"\n'
50 executable +=
'export ALRB_testPath=",,,,,,,,,,,,,,,,,,,,,,,,"\n'
51 executable +=
'export ALRB_CONT_RUNPAYLOAD="'+wrapperfilename+
'"\n'
52 wrapper +=
"ulimit -f 1000000;\n"
53 wrapper +=
"cd "+self.basedir+
";\n\n"
54 wrapper +=
"echo 'ncores="+
str(self.nCores)+
" nhours="+
str(self.hours)+
" "+self.basedir+
"/"+self.name+
".sh';\n"
57 with open(wrapperfilename,
'w')
as f:
59 st = os.stat(wrapperfilename)
60 os.chmod(wrapperfilename, st.st_mode | stat.S_IEXEC)
61 executable +=
"export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase\n"
62 executable +=
"source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh -c "+platform+
" -b -q"
64 executable +=
"-m"+
" ".
join(self.mounts)
67 executable +=
"exit $?\n"
70 executable +=
"ulimit -f 1000000;\n"
71 executable +=
"cd "+self.basedir+
"\n\n"
72 executable +=
"echo 'ncores="+
str(self.nCores)+
" nhours="+
str(self.hours)+
" "+self.basedir+
"/"+self.name+
".sh';\n"
74 executable += cmd+
"\n"
75 executable +=
"exit 0\n"
77 filename = self.basedir+
"/"+self.name+
".sh"
78 with open(filename,
'w')
as f:
82 st = os.stat(filename)
83 os.chmod(filename, st.st_mode | stat.S_IEXEC)
◆ account
sherpaTarCreator.batchJobBase.batchJobBase.account |
◆ basedir
sherpaTarCreator.batchJobBase.batchJobBase.basedir |
◆ cmds
sherpaTarCreator.batchJobBase.batchJobBase.cmds |
◆ dependsOnAny
sherpaTarCreator.batchJobBase.batchJobBase.dependsOnAny |
◆ dependsOnOk
sherpaTarCreator.batchJobBase.batchJobBase.dependsOnOk |
◆ env
sherpaTarCreator.batchJobBase.batchJobBase.env |
◆ hours
sherpaTarCreator.batchJobBase.batchJobBase.hours |
◆ id
sherpaTarCreator.batchJobBase.batchJobBase.id |
◆ memMB
sherpaTarCreator.batchJobBase.batchJobBase.memMB |
◆ mounts
sherpaTarCreator.batchJobBase.batchJobBase.mounts |
◆ name
sherpaTarCreator.batchJobBase.batchJobBase.name |
◆ nCores
sherpaTarCreator.batchJobBase.batchJobBase.nCores |
◆ queue
sherpaTarCreator.batchJobBase.batchJobBase.queue |
The documentation for this class was generated from the following file: