Services/F1/Server/Architecture: Difference between revisions

Line 60: Line 60:
* if the queue crashes, the data stored should not be lost. Workers should be able to resume their subscriptions
* if the queue crashes, the data stored should not be lost. Workers should be able to resume their subscriptions
   
   
* The job should be left in the queue while a worker runs it:
* The job should be left in the queue until the transaction is over
** a marker (M) is added so it's not picked by another worker
** a worker that picks a job marks it as being processed
** the job is deleted upon completion and successful push of the result
** if a worker crashes while doing the job, the marker should decay after a TTL so another worker can pick up the job
** if a consumer cannot reach the result DB, the job stays in the queue and eventually goes away after a ttl.
** if a consumer cannot reach the session DB the job stays in the queue and eventually goes away after a ttl.


* if a worker crashes while doing the job, M should decay after a TTL so another worker pick up the job
* if a consumer cannot reach the result DB, the job stays in the queue and eventually goes away after a ttl.
* if a consumer cannot reach the session DB the job stays in the queue and eventually goes away after a ttl.
* if a consumer cannot reach the services status DB, nevermind.
* if a consumer cannot reach the services status DB, nevermind.


Confirmed users
927

edits