From dd46df3670ee913197a7c08fe5f8aceb17f361ad Mon Sep 17 00:00:00 2001 From: Martin Polanka Date: Wed, 27 Jul 2016 13:47:42 +0200 Subject: [PATCH] second broker flow done --- Submissions-flow.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Submissions-flow.md b/Submissions-flow.md index 216b698..07ad330 100644 --- a/Submissions-flow.md +++ b/Submissions-flow.md @@ -1,6 +1,6 @@ # Submissions flow -It's assumed that readers understand [[Architecture]], [[Terminology]], [[Communication]] and [[Assignments Overview]]. This article will describe in detail execution flow of submission from the point of submission into web application to the point of evaluation of results from execution. +It's assumed that readers understand [[Architecture]], [[Terminology]], [[Communication]] and [[Assignments Overview]]. This article will describe in detail execution flow of submission from the point of submission into web application to the point of evaluation of results from execution. Only hot path is considered in following description. ## Web Application @@ -66,13 +66,13 @@ Worker gets request from broker to evaluate particular submission. Next step is Broker gets done message from worker and basically only mark submission as done in its internal structures. No messages are send to web application, because of lazy evaluation on frontend side. More detailed description follows: -- T -- O -- D -- O -- . -- . -- . +- broker gets "done" message from worker after successfull execution of job +- appropriate `worker` structure is found based on its identification +- some checks of invariants (current job identification, right amount of arguments) are executed right now +- deletion of current execution request in `worker` structure follows and appropriate worker is now considered free +- if worker execution queue is not empty than next waiting request is taken and given as current one + - after that only missing thing is to send that request to worker and loop back to worker execution +- if worker queue is empty then appropriate worker remains free and waiting for another execution request ## Web Application