Skip to main content

NewAutoRefreshCache

Instantiates a new AutoRefresh Cache that syncs items periodically.

def NewAutoRefreshCache(
name: string,
syncCb: SyncFunc,
syncRateLimiter: workqueue.TypedRateLimiter[*Batch],
resyncPeriod: time.Duration,
parallelizm: int,
size: int,
scope: promutils.Scope
) - > AutoRefresh, error

Instantiates a new AutoRefresh Cache that syncs items periodically.

Parameters

NameTypeDescription
namestringThe name of the cache, used for identification and metrics.
syncCbSyncFuncThe callback function to be executed for syncing items in the cache.
syncRateLimiterworkqueue.TypedRateLimiter[*Batch]The rate limiter to control the frequency of sync operations.
resyncPeriodtime.DurationThe duration after which the cache will perform a full resync of its items.
parallelizmintThe number of concurrent workers that can process sync operations.
sizeintThe maximum number of items the cache can hold.
scopepromutils.ScopeThe Prometheus metrics scope for reporting cache-related metrics.

Returns

TypeDescription
AutoRefresh, errorA new AutoRefresh instance and an error if the instantiation fails.