Change job config example to actual working version

master
Petr Stefan 9 years ago
parent 774f37fb2a
commit 6972e303b3

@ -91,73 +91,103 @@ If not specified otherwise than its mandatory item! Mandatory items are bold, op
#### Configuration example #### Configuration example
This configuration example is written in YAML and serves only for demostration purposes. Therefore it is not working example which can be used in real traffic. Some items can be omitted and defaults will be used. This configuration example is written in YAML and serves only for demostration purposes. Therefore it is not working example which can be used in real traffic. Some items can be omitted and defaults will be used.
```{.yml} ```{.yml}
--- # only one document which contains job, aka. list of tasks and some general infos --- # only one document which contains job, aka. list of tasks and some general infos
submission: submission: # happy hippoes fence
job-id: eval_5 job-id: hippoes
language: "cpp" language: c
file-collector: "http://localhost:36587" file-collector: http://localhost:9999/tasks
log: true log: true
tasks: tasks:
- task-id: "fetch_input" - task-id: "compilation"
priority: 2 priority: 2
fatal-failure: true fatal-failure: true
cmd: cmd:
bin: "fetch" bin: "/usr/bin/gcc"
args: args:
- "94549d889ae96210ff2a73bd0a5bbe3185f05ff6" - "solution.c"
- "01.in" - "-o"
- task-id: "move_test01" - "a.out"
priority: 3 sandbox:
fatal-failure: true name: "isolate"
dependencies: limits:
- compile_test01 - hw-group-id: group1
cmd: parallel: 0
bin: "mv" chdir: ${EVAL_DIR}
args: bound-directories:
- "recodex.cpp" - src: ${SOURCE_DIR}
- "/tmp/isoeval/1/eval_5/recodex.cpp" dst: ${EVAL_DIR}
- task-id: "eval_test01" mode: RW
priority: 4 - task-id: "fetch_test_1"
fatal-failure: false priority: 4
dependencies: fatal-failure: false
- move_test01 dependencies:
cmd: - compilation
bin: "recodex" cmd:
args: bin: "fetch"
- "-v" args:
- "-f 01.in" - "1.in"
stdin: "01.in" - "${SOURCE_DIR}/kuly.in"
stdout: "01.out" - task-id: "evaluation_test_1"
stderr: "01.err" priority: 5
sandbox: fatal-failure: false
name: "isolate" dependencies:
limits: - fetch_test_1
- hw-group-id: group1 cmd:
time: 5 # seconds bin: "a.out"
wall-time: 6 # seconds sandbox:
extra-time: 2 # seconds name: "isolate"
stack-size: 50000 # KB limits:
memory: 50000 # in KB - hw-group-id: group1
parallel: false # time and memory limits are merged from all potential processes/threads time: 0.5
disk-size: 50 memory: 8192
disk-files: 5 chdir: ${EVAL_DIR}
environ-variable: bound-directories:
ISOLATE_BOX: "/box" - src: ${SOURCE_DIR}
ISOLATE_TMP: "/tmp" dst: ${EVAL_DIR}
chdir: /evaluate mode: RW
bound-directories: - task-id: "fetch_test_solution_1"
- src: /tmp/isoeval/eval_5 priority: 6
dst: /evaluate fatal-failure: false
mode: RW,NOEXEC dependencies:
- hw-group-id: group2 - evaluation_test_1
time: 6 # seconds cmd:
wall-time: 7 # seconds bin: "fetch"
extra-time: 3 # seconds args:
memory: 60000 # in KB - "1.out"
parallel: false # time and memory limits are merged from all potential processes/threads - "${SOURCE_DIR}/1.out"
disk-size: 50 - task-id: "judging_test_1"
disk-files: 5 priority: 7
fatal-failure: false
dependencies:
- fetch_test_solution_1
cmd:
bin: "${JUDGES_DIR}/recodex-judge-normal"
args:
- "1.out"
- "plot.out"
sandbox:
name: "isolate"
limits:
- hw-group-id: group1
parallel: 0
chdir: ${EVAL_DIR}
bound-directories:
- src: ${SOURCE_DIR}
dst: ${EVAL_DIR}
mode: RW
- task-id: "rm_junk_test_1"
priority: 8
fatal-failure: false
dependencies:
- judging_test_1
cmd:
bin: "rm"
args:
- "${SOURCE_DIR}/kuly.in"
- "${SOURCE_DIR}/plot.out"
- "${SOURCE_DIR}/1.out"
... ...
``` ```
@ -170,7 +200,7 @@ List of usable variables in job configuration:
- **WORKER_ID** - integral identification of worker, unique on server - **WORKER_ID** - integral identification of worker, unique on server
- **JOB_ID** - identification of this job - **JOB_ID** - identification of this job
- **SOURCE_DIR** - directory where source codes of job are stored - **SOURCE_DIR** - directory where source codes of job are stored
- **EVAL_DIR** - evaluation directory which should point inside sandbox - **EVAL_DIR** - evaluation directory which should point inside sandbox. Note, that some existing directory must be bound inside sanbox under **EVAL_DIR** name using _bound-directories_ directive inside limits section.
- **RESULT_DIR** - results from job can be copied here, but only with internal task - **RESULT_DIR** - results from job can be copied here, but only with internal task
- **TEMP_DIR** - general temp directory which is not dependent on operating system - **TEMP_DIR** - general temp directory which is not dependent on operating system
- **JUDGES_DIR** - directory in which judges are stored (outside sandbox) - **JUDGES_DIR** - directory in which judges are stored (outside sandbox)

Loading…
Cancel
Save