allow defining rating dimension

This commit is contained in:
Maycon Santos
2025-05-08 01:57:23 +02:00
parent 8bfab0d6dd
commit cf60191bb5

View File

@@ -84,6 +84,12 @@ func NewServer(
}
}
multiplier := time.Second
d, e := time.ParseDuration(os.Getenv("NB_LOGIN_RATE"))
if e == nil {
multiplier = d
}
loginRatePerS, err := strconv.Atoi(os.Getenv("NB_LOGIN_RATE_PER_M"))
if loginRatePerS == 0 || err != nil {
loginRatePerS = 200
@@ -112,7 +118,7 @@ func NewServer(
appMetrics: appMetrics,
ephemeralManager: ephemeralManager,
syncLimiter: rate.NewLimiter(rate.Every(time.Minute/time.Duration(syncRatePerS)), 1),
loginLimiter: rate.NewLimiter(rate.Every(time.Minute/time.Duration(loginRatePerS)), 1),
loginLimiter: rate.NewLimiter(rate.Every(multiplier/time.Duration(loginRatePerS)), 1),
loginPeerLimit: rate.Every(time.Minute / time.Duration(loginPeerRatePerS)),
}, nil
}