package global import ( "sun-panel/lib/queue" "sun-panel/lib/queue/queueMemory" "sun-panel/lib/queue/queueRedis" "sun-panel/structs" ) // 缓存驱动 const ( QUEUE_DRIVE_REDIS = "redis" QUEUE_DRIVE_MEMORY = "memory" ) // 创建一个队列 // name:缓存名称 func NewQueuer(name string) queue.Queuer { drive := Config.GetValueString("base", "queue_drive") if drive == "" { drive = CACHE_DRIVE_MEMORY } var queuer queue.Queuer Logger.Debugln("队列驱动:", drive) switch drive { case CACHE_DRIVE_MEMORY: queuer = queueMemory.New() case CACHE_DRIVE_REDIS: redisConfig := structs.IniConfigRedis{} if err := Config.GetSection("redis", &redisConfig); err != nil { redisConfig.Prefix = "" } queuer = queueRedis.New(RedisDb, redisConfig.Prefix+name) } return queuer }