From ce1c22f14235594d21df4b9af34db60bfa2ba2f6 Mon Sep 17 00:00:00 2001 From: DanB Date: Tue, 12 Nov 2013 10:18:33 +0100 Subject: [PATCH] Activate precaching only for rater --- cmd/cgr-engine/cgr-engine.go | 11 +++++++++-- cmd/cgr-loader/cgr-loader.go | 4 ++-- engine/storage_utils.go | 10 +--------- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/cmd/cgr-engine/cgr-engine.go b/cmd/cgr-engine/cgr-engine.go index f23c5b819..3f6e3b09b 100644 --- a/cmd/cgr-engine/cgr-engine.go +++ b/cmd/cgr-engine/cgr-engine.go @@ -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 { diff --git a/cmd/cgr-loader/cgr-loader.go b/cmd/cgr-loader/cgr-loader.go index 47e4465dd..8e8a35aa8 100644 --- a/cmd/cgr-loader/cgr-loader.go +++ b/cmd/cgr-loader/cgr-loader.go @@ -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} { diff --git a/engine/storage_utils.go b/engine/storage_utils.go index 5c3f8dad4..4619ed30a 100644 --- a/engine/storage_utils.go +++ b/engine/storage_utils.go @@ -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)