MCPcopy Create free account
hub / github.com/cortexproject/cortex / ScanUsers

Method ScanUsers

pkg/util/users/cache.go:41–66  ·  view source on GitHub ↗
(ctx context.Context)

Source from the content-addressed store, hash-verified

39}
40
41func (s *cachedScanner) ScanUsers(ctx context.Context) ([]string, []string, []string, error) {
42 s.requests.Inc()
43 s.mtx.Lock()
44 defer s.mtx.Unlock()
45 // Check if we have a valid cached result
46 if !s.lastUpdatedAt.Before(time.Now().Add(-s.ttl)) {
47 active := s.active
48 deleting := s.deleting
49 deleted := s.deleted
50 s.hits.Inc()
51 return active, deleting, deleted, nil
52 }
53
54 // TODO: move to promise based.
55 active, deleting, deleted, err := s.scanner.ScanUsers(ctx)
56 if err != nil {
57 return nil, nil, nil, err
58 }
59
60 s.active = active
61 s.deleting = deleting
62 s.deleted = deleted
63 s.lastUpdatedAt = time.Now()
64
65 return active, deleting, deleted, nil
66}

Callers

nothing calls this directly

Calls 4

BeforeMethod · 0.80
ScanUsersMethod · 0.65
IncMethod · 0.45
AddMethod · 0.45

Tested by

no test coverage detected