separated rate limiter for sharecode endpoint
This commit is contained in:
4
main.go
4
main.go
@@ -45,6 +45,7 @@ var (
|
|||||||
rdb *redis.Client
|
rdb *redis.Client
|
||||||
rdc *cache.Cache
|
rdc *cache.Cache
|
||||||
rL *rate.Limiter
|
rL *rate.Limiter
|
||||||
|
shareCodeRL *rate.Limiter
|
||||||
configFlag = flag.String("config", "config.yaml", "Set config file to use")
|
configFlag = flag.String("config", "config.yaml", "Set config file to use")
|
||||||
journalLogFlag = flag.Bool("journal", false, "Log to systemd journal instead of stdout")
|
journalLogFlag = flag.Bool("journal", false, "Log to systemd journal instead of stdout")
|
||||||
sqlDebugFlag = flag.Bool("sqldebug", false, "Debug SQL queries")
|
sqlDebugFlag = flag.Bool("sqldebug", false, "Debug SQL queries")
|
||||||
@@ -217,7 +218,7 @@ func housekeeping() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, tPlayer := range tPlayerNeedShareCodeUpdate {
|
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 {
|
if err != nil {
|
||||||
switch {
|
switch {
|
||||||
case errors.Is(err, utils.ErrorAuthcodeUnauthorized):
|
case errors.Is(err, utils.ErrorAuthcodeUnauthorized):
|
||||||
@@ -1130,6 +1131,7 @@ func main() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
rL = rate.NewLimiter(rate.Limit(conf.Steam.RatePerSecond), 100) //nolint:gomnd
|
rL = rate.NewLimiter(rate.Limit(conf.Steam.RatePerSecond), 100) //nolint:gomnd
|
||||||
|
shareCodeRL = rate.NewLimiter(rate.Limit(0.2), 1)
|
||||||
|
|
||||||
// setup GC
|
// setup GC
|
||||||
err = demoLoader.Setup(&csgo.DemoMatchLoaderConfig{
|
err = demoLoader.Setup(&csgo.DemoMatchLoaderConfig{
|
||||||
|
Reference in New Issue
Block a user