|
@@ -9,7 +9,7 @@ import (
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
// ProviderSet is data providers.
|
|
// ProviderSet is data providers.
|
|
|
-var ProviderSet = wire.NewSet(NewData)
|
|
|
|
|
|
|
+var ProviderSet = wire.NewSet(NewRedis, NewData)
|
|
|
|
|
|
|
|
// Data .
|
|
// Data .
|
|
|
type Data struct {
|
|
type Data struct {
|
|
@@ -19,32 +19,35 @@ type Data struct {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// NewData .
|
|
// NewData .
|
|
|
-func NewData(c *conf.Data, logger log.Logger) (*Data, error) {
|
|
|
|
|
-
|
|
|
|
|
|
|
+func NewData(c *conf.Bootstrap, rdb *redis.Client, logger log.Logger) (*Data, error) {
|
|
|
data := &Data{
|
|
data := &Data{
|
|
|
log: log.NewHelper("data/data", logger),
|
|
log: log.NewHelper("data/data", logger),
|
|
|
}
|
|
}
|
|
|
var err error
|
|
var err error
|
|
|
- if c.Database != nil {
|
|
|
|
|
- data.Mysql, err = models.NewMysql(c.Database.Source, logger)
|
|
|
|
|
|
|
+ if c.Data.Database != nil {
|
|
|
|
|
+ data.Mysql, err = models.NewMysql(c.Data.Database.Source, logger)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
return nil, err
|
|
return nil, err
|
|
|
}
|
|
}
|
|
|
- data.Mysql.XDB.SetMaxIdleConns(int(c.Database.MaxIdleConns))
|
|
|
|
|
- data.Mysql.XDB.SetMaxOpenConns(int(c.Database.MaxOpenConns))
|
|
|
|
|
|
|
+ data.Mysql.XDB.SetMaxIdleConns(int(c.Data.Database.MaxIdleConns))
|
|
|
|
|
+ data.Mysql.XDB.SetMaxOpenConns(int(c.Data.Database.MaxOpenConns))
|
|
|
}
|
|
}
|
|
|
|
|
+ data.rdb = rdb
|
|
|
|
|
+ return data, nil
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- if c.Redis != nil {
|
|
|
|
|
- data.rdb = redis.NewClient(&redis.Options{
|
|
|
|
|
- Addr: c.Redis.Addr,
|
|
|
|
|
- DB: int(c.Redis.Db),
|
|
|
|
|
- DialTimeout: c.Redis.DialTimeout.AsDuration(),
|
|
|
|
|
- WriteTimeout: c.Redis.WriteTimeout.AsDuration(),
|
|
|
|
|
- ReadTimeout: c.Redis.ReadTimeout.AsDuration(),
|
|
|
|
|
- PoolSize: int(c.Redis.PoolSize),
|
|
|
|
|
- MinIdleConns: int(c.Redis.MinIdleConns),
|
|
|
|
|
- })
|
|
|
|
|
|
|
+func NewRedis(c *conf.Bootstrap) *redis.Client {
|
|
|
|
|
+ if c.Data.Redis == nil {
|
|
|
|
|
+ return nil
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- return data, nil
|
|
|
|
|
|
|
+ rdb := redis.NewClient(&redis.Options{
|
|
|
|
|
+ Addr: c.Data.Redis.Addr,
|
|
|
|
|
+ DB: int(c.Data.Redis.Db),
|
|
|
|
|
+ DialTimeout: c.Data.Redis.DialTimeout.AsDuration(),
|
|
|
|
|
+ WriteTimeout: c.Data.Redis.WriteTimeout.AsDuration(),
|
|
|
|
|
+ ReadTimeout: c.Data.Redis.ReadTimeout.AsDuration(),
|
|
|
|
|
+ PoolSize: int(c.Data.Redis.PoolSize),
|
|
|
|
|
+ MinIdleConns: int(c.Data.Redis.MinIdleConns),
|
|
|
|
|
+ })
|
|
|
|
|
+ return rdb
|
|
|
}
|
|
}
|