diff --git a/Architecture.md b/Architecture.md index 7a44b57..7e2fe35 100644 --- a/Architecture.md +++ b/Architecture.md @@ -11,6 +11,32 @@ - **Worker Core** can do all evaluating steps and is responsible for security of them. Sandbox [Isolate](https://github.com/ioi/isolate) is used. - **File Server Frontend** ensures via **File API** access to files on **File Server**, where are stored testing inputs and corresponding outputs for each task and other required files. It's possible to upload files, too. +### Default worker configuration +Worker should have some default configuration which is applied to worker itself or may be used in given jobs (implicitly if something is missing, or explicitly with special variables). This configuration should be hardcoded and can be rewritten by explicitly declared configuration file. Format of this configuration is yaml like in the job config. +``` +--- # only one document with all configuration needed +job-collector: + hostname: "localhost" + port: 36587 +file-manager: + file-collector: + hostname: "localhost" + port: 80 + cache: + cache-dir: "/tmp/cache" +logger: + file: "log.txt" +limits: + time: 5 # in secs + wall-time: 6 # seconds + extra-time: 2 # seconds + stack-size: 50000 # KB + memory: 50000 # in KB + parallel: false # time and memory limits are merged + disk-usage: 5 # MB +... +``` + ### Internal Worker architecture ![Internal Worker architecture](https://github.com/ReCodEx/GlobalWiki/blob/master/images/Worker_Internal_Architecture.png)