Add Wildberries product fetching and rate limiting functionality

This commit is contained in:
2025-07-04 13:30:50 +03:00
parent b48421e653
commit dc097c6fc8
67 changed files with 81355 additions and 110 deletions

29
internal/redis/lock.go Normal file
View File

@@ -0,0 +1,29 @@
package redis
import (
"github.com/redis/rueidis"
"github.com/redis/rueidis/rueidislock"
"os"
)
var Locker *rueidislock.Locker
func InitLocker() error {
redisAddr := os.Getenv("REDIS_ADDR")
password := os.Getenv("REDIS_PASSWORD")
locker, err := rueidislock.NewLocker(rueidislock.LockerOption{
ClientOption: rueidis.ClientOption{InitAddress: []string{redisAddr}, Password: password},
})
if err != nil {
return err
}
Locker = &locker
return nil
}
func CloseLocker() {
if Locker != nil {
(*Locker).Close()
}
Locker = nil
}