github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/atc/gc/access_tokens_collector.go (about) 1 package gc 2 3 import ( 4 "context" 5 "time" 6 7 "code.cloudfoundry.org/lager/lagerctx" 8 "github.com/pf-qiu/concourse/v6/atc/db" 9 ) 10 11 type accessTokensCollector struct { 12 lifecycle db.AccessTokenLifecycle 13 leeway time.Duration 14 } 15 16 func NewAccessTokensCollector(lifecycle db.AccessTokenLifecycle, leeway time.Duration) *accessTokensCollector { 17 return &accessTokensCollector{ 18 lifecycle: lifecycle, 19 leeway: leeway, 20 } 21 } 22 23 func (c *accessTokensCollector) Run(ctx context.Context) error { 24 logger := lagerctx.FromContext(ctx).Session("access-tokens-collector") 25 26 logger.Debug("start") 27 defer logger.Debug("done") 28 29 _, err := c.lifecycle.RemoveExpiredAccessTokens(c.leeway) 30 if err != nil { 31 logger.Error("failed-to-remove-expired-access-tokens", err) 32 return err 33 } 34 35 return nil 36 }