mirror of
https://github.com/netbirdio/netbird.git
synced 2026-04-18 08:16:39 +00:00
[management] Make startup period configurable (#3767)
This commit is contained in:
@@ -196,21 +196,7 @@ func BuildManager(
|
|||||||
permissionsManager: permissionsManager,
|
permissionsManager: permissionsManager,
|
||||||
}
|
}
|
||||||
|
|
||||||
var initialInterval int64
|
am.startWarmup(ctx)
|
||||||
intervalStr := os.Getenv("PEER_UPDATE_INTERVAL_MS")
|
|
||||||
interval, err := strconv.Atoi(intervalStr)
|
|
||||||
if err != nil {
|
|
||||||
initialInterval = 1
|
|
||||||
} else {
|
|
||||||
initialInterval = int64(interval) * 10
|
|
||||||
go func() {
|
|
||||||
time.Sleep(30 * time.Second)
|
|
||||||
am.updateAccountPeersBufferInterval.Store(int64(time.Duration(interval) * time.Millisecond))
|
|
||||||
log.WithContext(ctx).Infof("set peer update buffer interval to %dms", interval)
|
|
||||||
}()
|
|
||||||
}
|
|
||||||
am.updateAccountPeersBufferInterval.Store(initialInterval)
|
|
||||||
log.WithContext(ctx).Infof("set peer update buffer interval to %dms", initialInterval)
|
|
||||||
|
|
||||||
accountsCounter, err := store.GetAccountsCounter(ctx)
|
accountsCounter, err := store.GetAccountsCounter(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -254,6 +240,32 @@ func BuildManager(
|
|||||||
return am, nil
|
return am, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (am *DefaultAccountManager) startWarmup(ctx context.Context) {
|
||||||
|
var initialInterval int64
|
||||||
|
intervalStr := os.Getenv("NB_PEER_UPDATE_INTERVAL_MS")
|
||||||
|
interval, err := strconv.Atoi(intervalStr)
|
||||||
|
if err != nil {
|
||||||
|
initialInterval = 1
|
||||||
|
log.WithContext(ctx).Warnf("failed to parse peer update interval, using default value %dms: %v", initialInterval, err)
|
||||||
|
} else {
|
||||||
|
initialInterval = int64(interval) * 10
|
||||||
|
go func() {
|
||||||
|
startupPeriodStr := os.Getenv("NB_PEER_UPDATE_STARTUP_PERIOD_S")
|
||||||
|
startupPeriod, err := strconv.Atoi(startupPeriodStr)
|
||||||
|
if err != nil {
|
||||||
|
startupPeriod = 1
|
||||||
|
log.WithContext(ctx).Warnf("failed to parse peer update startup period, using default value %ds: %v", startupPeriod, err)
|
||||||
|
}
|
||||||
|
time.Sleep(time.Duration(startupPeriod) * time.Second)
|
||||||
|
am.updateAccountPeersBufferInterval.Store(int64(time.Duration(interval) * time.Millisecond))
|
||||||
|
log.WithContext(ctx).Infof("set peer update buffer interval to %dms", interval)
|
||||||
|
}()
|
||||||
|
}
|
||||||
|
am.updateAccountPeersBufferInterval.Store(initialInterval)
|
||||||
|
log.WithContext(ctx).Infof("set peer update buffer interval to %dms", initialInterval)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
func (am *DefaultAccountManager) GetExternalCacheManager() account.ExternalCacheManager {
|
func (am *DefaultAccountManager) GetExternalCacheManager() account.ExternalCacheManager {
|
||||||
return am.externalCacheManager
|
return am.externalCacheManager
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user