Gutterball connects to a to an AMQP (Qpid) message bus and listens for events from candlepin. Relative gutterball configuration values and their defaults can be found here.
When gutterball recieves an event from candlepin, the following occurs:
The event JSON from candlepin is converted into an Event object and is stored in the database, retaining the JSON for the old/new entity.
If there is a registered handler for the event (based on event target), the handler will process the event data and store the relevant data.
Event handlers are responsible for processing event data that is recieved from candlepin. Each handler is defined around a candlepin Event target and knows how to process the event based on its type (CREATED, UPDATED, DELETED).
An event target usually corresponds to 3 different types: CREATED, UPDATED, DELETED.
Gutterball’s supported targets are listed below, along with the types of events that are handled.
Candlepin will emit a compliance created event any time that a consumer’s compliance status is recalculated on the server. Events with this target are handled by the ComplianceHandler.
Candlepin will emit an event with a CONSUMER target when a consumer is created, updated, or deleted. Events with this target are handled by the ConsumerHandler.