← Back to team overview

canonical-ci-engineering team mailing list archive

Re: Microservices, the condensed version

 

On 3 September 2014 14:31, Vincent Ladeuil <vila+ci@xxxxxxxxxxxxx> wrote:
> 1) as a rule, workers should only receive requests they can handle,

Big +1

> 2) if they fail to fulfill the request (or find they *cannot* process
>    the request) they should reply with an error message and not put the
>    message back on the queue

Assuming this is not a request that could be processed by another
worker reading from the same queue or this same worker once a bug
causing the failure to process is fixed.

We need to be very careful to ensure that these error messages are
processed, and I would argue this should be done asynchronously. So
britney sends a request to the test runner workers via a queue. A
worker picks this up and determines that neither it nor its peers on
the same queue can handle it. It sends an error message to a separate
queue that britney is reading from.

Sound reasonable?


Follow ups

References