Documentation
¶
Overview ¶
Package process holds the process-stage queue controller. It consumes the request ids ingest publishes, reloads the Request from storage, and (in a future change) decides the build strategy by asking SourceControl how the new head relates to the queue's last-green URI. For now it is a thin consumer that reloads and logs the request, establishing the stage and its wiring.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Controller ¶
type Controller struct {
// contains filtered or unexported fields
}
Controller consumes ProcessRequest messages from the process stage, reloads the referenced Request from storage, and logs it. Implements consumer.Controller.
func NewController ¶
func NewController( logger *zap.SugaredLogger, scope tally.Scope, store storage.Storage, topicKey consumer.TopicKey, consumerGroup string, ) *Controller
NewController creates a new process controller.
func (*Controller) ConsumerGroup ¶
func (c *Controller) ConsumerGroup() string
ConsumerGroup returns the consumer group for offset tracking.
func (*Controller) Name ¶
func (c *Controller) Name() string
Name returns the controller name for logging and metrics.
func (*Controller) Process ¶
Process reloads the request referenced by the delivery and logs it. Returns nil to ack (success) or an error to nack (retry). A not-yet-visible request is retryable: ingest persists and publishes, but a stale read may not see the row yet, so redelivery converges.
func (*Controller) TopicKey ¶
func (c *Controller) TopicKey() consumer.TopicKey
TopicKey returns the topic key this controller subscribes to.