Queue Service¶
Purpose¶
Provides a generic queue service for the entire CI Engine. Common uses are:
- Task queues to manage work between a service accepting requests and a pool of workers to actually execute the request.
- Progress queues to provide progress updates between services.
Usage¶
Task Queues¶
The service and its pool of workers share a named queue defined in the service charm configuration files.
Progress Queues¶
The queue is created by the calling service and the details are passed to the callee. For example, if the Lander needs to receive progress from the Image Builder, the Lander creates the queue and passes it to the Image Builder as part of the Image Builder API.
Updates are sent every 60 seconds until the task being tracked is complete, at which point it can stop sending updates.
If no progress is received by the caller with the span of 10 updates, the caller can declare the callee unresponsive and can take action to retry or fail the original request.
API¶
TBD