Broker is server when comminicating with worker. IP address and port are configurable, protocol is TCP. Worker socket is DEALER, broker one is ROUTER type. Because of that, very first part of every (multipart) message from broker to worker must be target worker's socket identity (which is saved on it's **init** command).
Broker is server when communicating with worker. IP address and port are configurable, protocol is TCP. Worker socket is DEALER, broker one is ROUTER type. Because of that, very first part of every (multipart) message from broker to worker must be target worker's socket identity (which is saved on it's **init** command).
Commands from broker to worker:
Commands from broker to worker:
@ -62,7 +62,7 @@ Commands from broker to worker:
- **intro** - introduce yourself to the broker (with **init** command) - this is
- **intro** - introduce yourself to the broker (with **init** command) - this is
required when the broker loses track of the worker who sent the command.
required when the broker loses track of the worker who sent the command.
Possible reasons for such event are e.g. that one of the communicating sides
Possible reasons for such event are e.g. that one of the communicating sides
shut down and restarted whithout the other side noticing.
shut down and restarted without the other side noticing.
- **pong** - reply to **ping** command, no arguments
- **pong** - reply to **ping** command, no arguments
Commands from worker to broker:
Commands from worker to broker:
@ -114,7 +114,7 @@ File server has it's internal directory structure, where all the files are store
- **GET /tasks/\<hash\>** - gets a file, common usage is for input files or reference result files
- **GET /tasks/\<hash\>** - gets a file, common usage is for input files or reference result files
- **PUT /results/\<id\>.\<ext\>** - upload archive with evaluation results under specified name (should be same _id_ as name of submission archive). On successful upload returns JSON `{ "result": "OK" }` as body of returned page.
- **PUT /results/\<id\>.\<ext\>** - upload archive with evaluation results under specified name (should be same _id_ as name of submission archive). On successful upload returns JSON `{ "result": "OK" }` as body of returned page.
If not specified otherview, `zip` format of archives is used. Symbol `/` in API description is root of file server's domain. If the domain is for example `fs.recodex.org` with SSL support, getting input file for one task could look as GET request to `https://fs.recodex.org/tasks/8b31e12787bdae1b5766ebb8534b0adc10a1c34c`.
If not specified otherwise, `zip` format of archives is used. Symbol `/` in API description is root of file server's domain. If the domain is for example `fs.recodex.org` with SSL support, getting input file for one task could look as GET request to `https://fs.recodex.org/tasks/8b31e12787bdae1b5766ebb8534b0adc10a1c34c`.