package db import ( "context" "gestion/models" "log" "os" "github.com/redis/go-redis/v9" ) var ( Redis *redis.Client RedisCtx = context.Background() ) type CommandWithDistance struct { CommandID int Address string Lat float64 Lng float64 Distance float64 EstimatedETA int QueueItem models.CommandQueue } const ( // Temps moyen estimé par livraison (en minutes) AVG_DELIVERY_TIME = 15 // Nombre maximum de commandes par livreur MAX_COMMANDS_PER_DELIVERYMAN = 20 ) // ============================================ // INITIALISATION DE REDIS // ============================================ func InitRedis() { host := getEnv("REDIS_HOST", "redis") port := getEnv("REDIS_PORT", "6379") password := os.Getenv("REDIS_PASSWORD") addr := host + ":" + port Redis = redis.NewClient(&redis.Options{ Addr: addr, Password: password, DB: 0, }) _, err := Redis.Ping(RedisCtx).Result() if err != nil { log.Fatalf("❌ Erreur connexion Redis: %v", err) } log.Println("⚡ Redis connecté") }