nslurm v1.1.5
nSlurm
node wrapper to slurm scheduler node jobManager_test.js -f ../config/arwenConf.json -e emulator
JOB OBJECT
A job is an Object. It contains variables and functions.
JOB ID
A job is defined by its input(s) and the jobID.json file. The jobID.json file is like :
{
'script' : '/path/to/a/777_coreScript.sh',
'exportVar' : {
'flags' : ' --option1 --option2 ',
'moduleScript' : '/path/to/this/script'
},
'modules' : ['blast'],
'tagTask' : 'blast' // 'blast' is just an example. It can be 'clustal', 'naccess', etc.
}where :
scriptis a path to the_coreScript.sh(see the JOB CACHE CONTENT part)exportVaris a JSONmodulesis an arraytagTask
JOB VARIABLES (into job.js)
- engineHeader = written into the
.sbatchfile, containing all the variables to parameter the scheduler - submitBin = path to the binary file of the scheduler, to run the
.sbatchfile - cmd = command to test the
.sbatch(likeecho "toto"for example) - script = path to the source of the
_coreScript.sh(to be copied into the cache directory) - exportVar = JSON of variable to export. For example :
{'myVar': 'titi', 'aFile': '/path/'} - inputs = JSON of the inputs and their name. For example :
{'nameInput1': 'contentInput1', 'nameInput2': 'contentInput2'} - tagTask = specific to taskObject
- emulated = true if the job is emulated (on your proper computer), false if the job is run with a scheduler
- port = port to communicate via Netcat
- adress = adress of the machine that will run the job (IP adress)
- workDir = directory of the job (see the JOB CACHE CONTENT part)
- namespace = directory of the pipeline of the job
- cwd <> =
- cwdClone <> =
- ttl <> = deprecated ???
- ERR_jokers = counter for jobs emitting an error -> can be re-submitted 2 times more
- MIA_jokers = "Missing In Action" = counter for missing job in queue
- modules [] = array of the module to load into the
_coreScript.sh - debugBool =
- inputSymbols <> =
JOB FUNCTIONS (into job.js)
- start() =
- getSerialIdentity() = to create the
jobID.json - submit() = create a process to execute the
.sbtach
JOB CACHE CONTENT
When a job is created, the JM create a directory where all files related to this job will be written. The minimalist content (where 777 is a uuid) :
777_coreScript.sh777.batchjobID.json777.err777.outinput, containing :myInput1.inpmyInput2.inpHere, the job needs two input files, namedmyInput1.inpandmyInput2.inp.
Note These two names (without the extension) are described as variables into the
777.batchfile, to indicate their paths. Thus, the path to the input files of the job are known in777.batch.
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago