Files
backend/pkg/mq/mq_impl.go
T
2026-07-15 22:42:31 +08:00

30 lines
540 B
Go

package mq
import "strings"
type Backend string
const (
BackendRedis Backend = "redis"
BackendRabbitMQ Backend = "rabbitmq"
)
type Options struct {
RabbitMQURL string
}
func NewMessageQueues(cfg *Options) (map[Backend]MessageQueue, error) {
mqs := map[Backend]MessageQueue{}
mqs[BackendRedis] = NewRedisMQ()
if cfg != nil && strings.TrimSpace(cfg.RabbitMQURL) != "" {
rmq, err := NewRabbitMQ(RabbitMQConfig{URL: cfg.RabbitMQURL})
if err != nil {
return mqs, err
}
mqs[BackendRabbitMQ] = rmq
}
return mqs, nil
}