separated rate limiter for sharecode endpoint

This commit is contained in:
2022-11-28 19:05:58 +01:00
parent e99dfd320d
commit 56059d2cd0

View File

@@ -45,6 +45,7 @@ var (
rdb *redis.Client
rdc *cache.Cache
rL *rate.Limiter
shareCodeRL *rate.Limiter
configFlag = flag.String("config", "config.yaml", "Set config file to use")
journalLogFlag = flag.Bool("journal", false, "Log to systemd journal instead of stdout")
sqlDebugFlag = flag.Bool("sqldebug", false, "Debug SQL queries")
@@ -217,7 +218,7 @@ func housekeeping() {
}
for _, tPlayer := range tPlayerNeedShareCodeUpdate {
shareCodes, err := utils.GetNewShareCodesForPlayer(tPlayer, conf.Steam.APIKey, rL)
shareCodes, err := utils.GetNewShareCodesForPlayer(tPlayer, conf.Steam.APIKey, shareCodeRL)
if err != nil {
switch {
case errors.Is(err, utils.ErrorAuthcodeUnauthorized):
@@ -1130,6 +1131,7 @@ func main() {
})
rL = rate.NewLimiter(rate.Limit(conf.Steam.RatePerSecond), 100) //nolint:gomnd
shareCodeRL = rate.NewLimiter(rate.Limit(0.2), 1)
// setup GC
err = demoLoader.Setup(&csgo.DemoMatchLoaderConfig{