Updated Overall architecture (markdown)

master
Martin Polanka 8 years ago
parent 5814ca4ad1
commit b0b943c365

@ -9,10 +9,7 @@ TODO:
## Assignments ## Assignments
Assignments are programming tasks that can be tested by a worker after a user Assignments are programming tasks that can be tested by a worker after a user
submits their solution. An assignment is described by a YAML file that contains information on how to submits their solution. An assignment is described by a YAML file that contains information on how to
build, run and test it. build, run and test it. Following text requires knowledge of basic terminology used by ReCodEx. Please, check [separate page](Terminology).
### Terminology
Following text requires knowledge of basic terminology used by ReCodEx. Please, check [separate page](Terminology).
### Basics ### Basics
Job is a set/list of tasks (it is generally a set, but order of tasks have some meaning). These tasks may have dependencies (arbitrary number), which needs to be observed. When recodex-worker processes job, it creates a task graph, where tasks are vertices and dependencies are edges (A -> B means that the task A is on the dependency list of task B) and creates its linear ordering. The graph must be acyclic (otherwise linear ordering will not exist) and the recodex-worker attempts to execute maximal number of tasks possible. Tasks without dependencies can be executed directly, other tasks are executed when all their dependencies have been successfully completed. Job is a set/list of tasks (it is generally a set, but order of tasks have some meaning). These tasks may have dependencies (arbitrary number), which needs to be observed. When recodex-worker processes job, it creates a task graph, where tasks are vertices and dependencies are edges (A -> B means that the task A is on the dependency list of task B) and creates its linear ordering. The graph must be acyclic (otherwise linear ordering will not exist) and the recodex-worker attempts to execute maximal number of tasks possible. Tasks without dependencies can be executed directly, other tasks are executed when all their dependencies have been successfully completed.

Loading…
Cancel
Save