Queue implementation https://github.com/src-d/go-queue should be used for decoupling review creating and it's processing inside the lookout.
Default configuration should work as is, without extra configuration so lookoutd serve runs using in-memory implementation. Other environments will use RabbitMQ.
Deployment envs would use something like Borges does
lookoutd enqueue responsible only for interacting \w Github and putting new Review events in queue
lookout dequeue process events from the queue sequentially, transactionally updating DB with event state, posting results back, etc
Most probably, should include few queues:
- queue for new events
- queue for re-processing failures
Queue implementation https://github.com/src-d/go-queue should be used for decoupling review creating and it's processing inside the lookout.
Default configuration should work as is, without extra configuration so
lookoutd serveruns using in-memory implementation. Other environments will use RabbitMQ.Deployment envs would use something like Borges does
lookoutd enqueueresponsible only for interacting \w Github and putting new Review events in queuelookout dequeueprocess events from the queue sequentially, transactionally updating DB with event state, posting results back, etcMost probably, should include few queues: