@ -52,85 +52,7 @@ Configuration of the job which is passed to worker is generated from two parts:
Final configuration for worker is computer generated from those two configs.
* **Configuration example**
`std::cout < < "hello world" < < std::endl ;
return 0;`
`
--- # only one document which contains job, aka. list of tasks and some general infos
problem: # some basic info about problem
id: 25
name: "test-problem"
created-at: 2015/12/09 22:00:00.0000
autovalidation: true
author:
id: 666
name: "Martin Polanka"
role: "admin"
submitter: # info about submitter, usually not necessary
id: 6666
name: "Martin Polanka"
role: "student"
group:
id: 3
name: "Programovani I"
submission: # information about this particular submission
id: 255
time: 2015/12/09 22:22:22.0000
language: "cpp"
files: # or can be in tasks, sha1 hashing function
- hashcode: 94549d889ae96210ff2a73bd0a5bbe3185f05ff6
name: "recodex.cpp"
- hashcode: 94549d889ae96210ff2a73bd0a5bbe3185f05ff6
name: "01.in"
tasks:
- id: "compile_test01"
priority: 1
internal-task: false
failure-exit: true
source: "recodex.cpp"
destination: "recodex"
cmd: "g++"
stdout: "compile01.out"
stderr: "compile01.err"
log: "compile.log"
- id: "move_test01"
priority: 2
internal-task: true
dependencies:
- compile_test01
source: "recodex"
destination: "/codex/boxes/tmp/recodex"
cmd: "mv"
log: "move.log"
- id: "eval_test01"
priority: 3
internal-task: false
failure-exit: false
dependencies:
- move_test01
source: "recodex"
destination: ""
cmd: "recodex -v -f 01.in"
stdin: "01.in"
stdout: "01.out"
stderr: "01.err"
log: "eval.log"
sandbox: # if defined task will be run in sandbox
name: "isolate"
limits:
time: 5 # seconds
wall-time: 6 # seconds
extra-time: 2 # seconds
stack-size: 50000 # KB
memory: 50000 # in KB
parallel: false # time and memory limits are merged from all potential processes/threads
disk-usage: 5 # MB
environ-variable:
- var: ISOLATE_BOX
value: "/box"
- var: ISOLATE_TMP
value: "/tmp"
...
`
### Parameters And Results
The job may have some input parameters (e.g., default config for Isolate, global parameters for the tested processes, ...). Similarly, the job has some structured results -- for each task (where applicable), it gathers exit code and consumed time and memory.