Documentation ¶
Overview ¶
Package singleflight provides a duplicate function call suppression mechanism.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Group ¶
type Group struct {
// contains filtered or unexported fields
}
Group represents a class of work and forms a namespace in which units of work can be executed with duplicate suppression.
func (*Group) Count ¶ added in v2.4.0
Count returns the number of currently active single flight entries.
func (*Group) Do ¶
Do executes and returns the results of the given function, making sure that only one execution is in-flight for a given key at a time. If a duplicate comes in, the duplicate caller waits for the original to complete and receives the same results.
func (*Group) Lock ¶
func (g *Group) Lock(fn func())
Lock prevents single flights from occurring for the duration of the provided function. This allows users to clear caches or perform some operation in between running flights.
func (*Group) LongestRunningStartTime ¶ added in v2.4.0
LongestRunningStartTime returns the timestamp at which the oldest single flight entry in the group was created. May be 0 if there are no running entries.