Versions in this module Expand all Collapse all v2 v2.5.2 Apr 27, 2022 Changes in this version + var ErrStopped = errors.New("queue is stopped") + var ErrTooManyRequests = errors.New("too many outstanding requests") + type Request interface + type RequestQueue struct + func NewRequestQueue(maxOutstandingPerTenant int, forgetDelay time.Duration, ...) *RequestQueue + func (q *RequestQueue) EnqueueRequest(userID string, req Request, maxQueriers int, successFn func()) error + func (q *RequestQueue) GetConnectedQuerierWorkersMetric() float64 + func (q *RequestQueue) GetNextRequestForQuerier(ctx context.Context, last UserIndex, querierID string) (Request, UserIndex, error) + func (q *RequestQueue) NotifyQuerierShutdown(querierID string) + func (q *RequestQueue) RegisterQuerierConnection(querier string) + func (q *RequestQueue) UnregisterQuerierConnection(querier string) + type UserIndex struct + func FirstUser() UserIndex + func (ui UserIndex) ReuseLastUser() UserIndex