NewRefresher creates a Refresher with the given dependency functions.
( providers ProviderResolver, tokens TokenResolver, logger slog.Logger, clock quartz.Clock, opts ...RefresherOption, )
| 74 | // NewRefresher creates a Refresher with the given dependency |
| 75 | // functions. |
| 76 | func NewRefresher( |
| 77 | providers ProviderResolver, |
| 78 | tokens TokenResolver, |
| 79 | logger slog.Logger, |
| 80 | clock quartz.Clock, |
| 81 | opts ...RefresherOption, |
| 82 | ) *Refresher { |
| 83 | r := &Refresher{ |
| 84 | providers: providers, |
| 85 | tokens: tokens, |
| 86 | logger: logger, |
| 87 | clock: clock, |
| 88 | concurrency: defaultConcurrency, |
| 89 | } |
| 90 | for _, o := range opts { |
| 91 | o(r) |
| 92 | } |
| 93 | return r |
| 94 | } |
| 95 | |
| 96 | // RefreshRequest pairs a stale row with the chat owner who |
| 97 | // holds the git token needed for API calls. |
no outgoing calls