52 lines
1.4 KiB
Go
52 lines
1.4 KiB
Go
package main
|
|
|
|
// import (
|
|
// "context"
|
|
// "log"
|
|
// "strings"
|
|
// "time"
|
|
|
|
// "rijig/config"
|
|
// "rijig/internal/services"
|
|
// )
|
|
|
|
// // func main() {
|
|
// // config.SetupConfig()
|
|
|
|
// // }
|
|
|
|
// func processCartKeys(ctx context.Context, cartService services.CartService) {
|
|
// pattern := "cart:user:*"
|
|
// iter := config.RedisClient.Scan(ctx, 0, pattern, 0).Iterator()
|
|
|
|
// for iter.Next(ctx) {
|
|
// key := iter.Val()
|
|
// ttl, err := config.RedisClient.TTL(ctx, key).Result()
|
|
// if err != nil {
|
|
// log.Printf("Failed to get TTL for key %s: %v", key, err)
|
|
// continue
|
|
// }
|
|
|
|
// if ttl <= time.Minute {
|
|
// log.Printf("🔄 Auto-committing key: %s", key)
|
|
// parts := strings.Split(key, ":")
|
|
// if len(parts) != 3 {
|
|
// log.Printf("Invalid key format: %s", key)
|
|
// continue
|
|
// }
|
|
// userID := parts[2]
|
|
|
|
// err := cartService.CommitCartFromRedis(userID)
|
|
// if err != nil {
|
|
// log.Printf("❌ Failed to commit cart for user %s: %v", userID, err)
|
|
// } else {
|
|
// log.Printf("✅ Cart for user %s committed successfully", userID)
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// if err := iter.Err(); err != nil {
|
|
// log.Printf("Error iterating keys: %v", err)
|
|
// }
|
|
// }
|