Files
base/config/rabbit.go
2026-04-10 18:25:21 +03:30

39 lines
897 B
Go

package config
import (
"fmt"
"time"
)
// RabbitMQConfig holds configuration for RabbitMQ
type RabbitMQConfig struct {
Host string
Port int
User string
Password string
VHost string
MaxConnections int
MaxChannels int
ConnectionTimeout time.Duration
HeartbeatInterval time.Duration
ReconnectDelay time.Duration
MaxReconnectDelay time.Duration
ReconnectAttempts int
EnableAutoReconnect bool
LogLevel string
MaxRetryAttempts int
PrefetchCount int
RetryTTL time.Duration
}
// RabbitMQConnectionString returns the formatted RabbitMQ connection URI
func (c *AppConfig) RabbitMQConnectionString() string {
return fmt.Sprintf("amqp://%s:%s@%s:%d/%s",
c.RabbitMQ.User,
c.RabbitMQ.Password,
c.RabbitMQ.Host,
c.RabbitMQ.Port,
c.RabbitMQ.VHost,
)
}