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 `eval` command
- The job id (ASCII or network byte order - to be specified) - The job id (ASCII or network byte order - to be specified)
- A frame for each header (e.g. `hwgroup=group_1`) - 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 - A hash code of the assignment's configuration file
- Hash codes of files submitted by the user, each in a separate frame - 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 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 `accept`. Otherwise (for example when the requirements specified by the headers
cannot be met), it responds with `nack`. cannot be met), it responds with `reject`.
Note that we will need to store the job ID and the assignment configuration 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 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 the assignment configuration file
- Download any supplementary files based on the configuration file, such as test - 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 - Download the source codes of the student's submission
- Evaluate the submission according to the assignment's configuration - Evaluate the submission according to the assignment's configuration
- Upload the results of the evaluation to the file server - 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 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 and only download the student's submissions when the same assignment is

Loading…
Cancel
Save