Updated Architecture (markdown)

master
Jan Buchar 9 years ago
parent 4e0136f63b
commit fdffe72b7d

@ -116,12 +116,13 @@ The frontend must send a multipart message that contains the following frames:
- The `eval` command
- The job id (ASCII or network byte order - to be specified)
- A frame for each header (e.g. `hwgroup=group_1`)
- An URL of the file server where the submitted files are stored
- A hash code of the assignment's configuration file
- Hash codes of files submitted by the user, each in a separate frame
If the broker is capable of routing the request to a worker, it responds with
`ack`. Otherwise (for example when the requirements specified by the headers
cannot be met), it responds with `nack`.
`accept`. Otherwise (for example when the requirements specified by the headers
cannot be met), it responds with `reject`.
Note that we will need to store the job ID and the assignment configuration
somewhere close to the submitted files so it's possible to check how a
@ -146,10 +147,12 @@ frontend. The worker has to:
- Download the assignment configuration file
- Download any supplementary files based on the configuration file, such as test
inputs or helper programs
inputs or helper programs (This can be done on demand, using a `fetch` command
in the assignment configuration)
- Download the source codes of the student's submission
- Evaluate the submission according to the assignment's configuration
- Upload the results of the evaluation to the file server
- Notify the broker that the evaluation is finished
Thanks to this message structure, it's possible to cache the configuration file
and only download the student's submissions when the same assignment is

Loading…
Cancel
Save