MIF_E31222379_BE/cmd/cart_worker.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)
// }
// }