Activate precaching only for rater

This commit is contained in:
DanB
2013-11-12 10:18:33 +01:00
parent 3614ed2624
commit ce1c22f142
3 changed files with 12 additions and 13 deletions

View File

@@ -307,18 +307,25 @@ func main() {
engine.Logger.Crit(errCfg.Error())
return
}
var dataDb engine.DataStorage
var logDb engine.LogStorage
var loadDb engine.LoadStorage
var cdrDb engine.CdrStorage
dataDb, err = engine.ConfigureDataStorage(cfg.DataDBType, cfg.DataDBHost, cfg.DataDBPort, cfg.DataDBName, cfg.DataDBUser, cfg.DataDBPass, cfg.DBDataEncoding, true)
dataDb, err = engine.ConfigureDataStorage(cfg.DataDBType, cfg.DataDBHost, cfg.DataDBPort, cfg.DataDBName, cfg.DataDBUser, cfg.DataDBPass, cfg.DBDataEncoding)
if err != nil { // Cannot configure getter database, show stopper
engine.Logger.Crit(fmt.Sprintf("Could not configure dataDb: %s exiting!", err))
return
}
defer dataDb.Close()
engine.SetDataStorage(dataDb)
if cfg.RaterEnabled {
engine.Logger.Info("Starting redis pre-caching...")
if err := dataDb.PreCache(nil, nil); err != nil {
engine.Logger.Crit(fmt.Sprintf("Pre-caching error: %v", err))
return
}
engine.Logger.Info("Pre-caching done!")
}
if cfg.StorDBType == SAME {
logDb = dataDb.(engine.LogStorage)
} else {

View File

@@ -72,12 +72,12 @@ func main() {
var storDb engine.LoadStorage
// Init necessary db connections
if *fromStorDb {
dataDb, errDataDb = engine.ConfigureDataStorage(*data_db_type, *data_db_host, *data_db_port, *data_db_name, *data_db_user, *data_db_pass, *dbdata_encoding, false)
dataDb, errDataDb = engine.ConfigureDataStorage(*data_db_type, *data_db_host, *data_db_port, *data_db_name, *data_db_user, *data_db_pass, *dbdata_encoding)
storDb, errStorDb = engine.ConfigureLoadStorage(*stor_db_type, *stor_db_host, *stor_db_port, *stor_db_name, *stor_db_user, *stor_db_pass, *dbdata_encoding)
} else if *toStorDb { // Import from csv files to storDb
storDb, errStorDb = engine.ConfigureLoadStorage(*stor_db_type, *stor_db_host, *stor_db_port, *stor_db_name, *stor_db_user, *stor_db_pass, *dbdata_encoding)
} else { // Default load from csv files to dataDb
dataDb, errDataDb = engine.ConfigureDataStorage(*data_db_type, *data_db_host, *data_db_port, *data_db_name, *data_db_user, *data_db_pass, *dbdata_encoding, false)
dataDb, errDataDb = engine.ConfigureDataStorage(*data_db_type, *data_db_host, *data_db_port, *data_db_name, *data_db_user, *data_db_pass, *dbdata_encoding)
}
// Defer databases opened to be closed when we are done
for _, db := range []engine.Storage{dataDb, storDb} {

View File

@@ -20,14 +20,13 @@ package engine
import (
"errors"
"fmt"
"github.com/cgrates/cgrates/utils"
"strconv"
)
// Various helpers to deal with database
func ConfigureDataStorage(db_type, host, port, name, user, pass, marshaler string, precache bool) (db DataStorage, err error) {
func ConfigureDataStorage(db_type, host, port, name, user, pass, marshaler string) (db DataStorage, err error) {
var d Storage
switch db_type {
case utils.REDIS:
@@ -42,13 +41,6 @@ func ConfigureDataStorage(db_type, host, port, name, user, pass, marshaler strin
}
d, err = NewRedisStorage(host, db_nb, pass, marshaler)
db = d.(DataStorage)
if precache {
Logger.Info("Started redis pre-caching...")
if err := db.PreCache(nil, nil); err != nil {
Logger.Err(fmt.Sprintf("Pre-caching error: %v", err))
}
Logger.Info("Pre-caching done!")
}
case utils.MONGO:
d, err = NewMongoStorage(host, port, name, user, pass)
db = d.(DataStorage)