From 8b29a35b96e7d8b801c93298260142dcbf9afa16 Mon Sep 17 00:00:00 2001 From: DanB Date: Thu, 14 Nov 2013 17:32:47 +0100 Subject: [PATCH] Adding reload_cache command to cgr-console, reload_scheduler fixup --- cmd/cgr-loader/cgr-loader.go | 2 +- console/reload_scheduler.go | 3 ++- engine/loader_db.go | 22 +++++++++++----------- engine/storage_interface.go | 2 +- engine/storage_sql.go | 21 +++++++++------------ 5 files changed, 24 insertions(+), 26 deletions(-) diff --git a/cmd/cgr-loader/cgr-loader.go b/cmd/cgr-loader/cgr-loader.go index 346d5a2ec..1484d961c 100644 --- a/cmd/cgr-loader/cgr-loader.go +++ b/cmd/cgr-loader/cgr-loader.go @@ -59,7 +59,7 @@ var ( fromStorDb = flag.Bool("from_stordb", false, "Load the tariff plan from storDb to dataDb") toStorDb = flag.Bool("to_stordb", false, "Import the tariff plan from files to storDb") historyServer = flag.String("history_server", cgrConfig.HistoryServer, "The history server address:port, empty to disable automaticautomatic history archiving") - raterAddress = flag.String("rater_address", cgrConfig.RaterListen, "Rater service to contact for cache reloads, empty to disable automatic cache reloads") + raterAddress = flag.String("rater_address", cgrConfig.MediatorRater, "Rater service to contact for cache reloads, empty to disable automatic cache reloads") rpcEncoding = flag.String("rpc_encoding", "json", "The history server rpc encoding json|gob") runId = flag.String("runid", "", "Uniquely identify an import/load, postpended to some automatic fields") ) diff --git a/console/reload_scheduler.go b/console/reload_scheduler.go index 2f94bcd59..42e0a309d 100644 --- a/console/reload_scheduler.go +++ b/console/reload_scheduler.go @@ -23,7 +23,7 @@ import ( ) func init() { - commands["reload_balancer"] = &CmdReloadScheduler{} + commands["reload_scheduler"] = &CmdReloadScheduler{} } // Commander implementation @@ -46,6 +46,7 @@ func (self *CmdReloadScheduler) defaults() error { // Parses command line args and builds CmdBalance value func (self *CmdReloadScheduler) FromArgs(args []string) error { + self.defaults() return nil } diff --git a/engine/loader_db.go b/engine/loader_db.go index df5fb34b5..3786d16a3 100644 --- a/engine/loader_db.go +++ b/engine/loader_db.go @@ -322,19 +322,19 @@ func (dbr *DbReader) LoadActionTimings() (err error) { if err != nil { return err } - for tag, ats := range atsMap { - for _, at := range ats.ActionTimings { + for atId, ats := range atsMap { + for _, at := range ats { _, exists := dbr.actions[at.ActionsId] if !exists { return errors.New(fmt.Sprintf("ActionTiming: Could not load the action for tag: %v", at.ActionsId)) } - t, exists := dbr.timings[ats.ActionTimingsId] + t, exists := dbr.timings[atId] if !exists { - return errors.New(fmt.Sprintf("ActionTiming: Could not load the timing for tag: %v", ats.ActionTimingsId)) + return errors.New(fmt.Sprintf("ActionTiming: Could not load the timing for tag: %v", atId)) } actTmg := &ActionTiming{ Id: utils.GenUUID(), - Tag: ats.ActionTimingsId, + Tag: atId, Weight: at.Weight, Timing: &RateInterval{ Timing: &RITiming{ @@ -346,7 +346,7 @@ func (dbr *DbReader) LoadActionTimings() (err error) { }, ActionsId: at.ActionsId, } - dbr.actionsTimings[tag] = append(dbr.actionsTimings[tag], actTmg) + dbr.actionsTimings[atId] = append(dbr.actionsTimings[atId], actTmg) } } return err @@ -438,23 +438,23 @@ func (dbr *DbReader) LoadAccountActionsByTag(tag string) error { } var actionTimings []*ActionTiming ats := actionTimingsMap[accountAction.ActionTimingsTag] - for _, at := range ats.ActionTimings { + for _, at := range ats { existsAction, err := dbr.storDb.ExistsTPActions(dbr.tpid, at.ActionsId) if err != nil { return err } else if !existsAction { return fmt.Errorf("No Action with id <%s>", at.ActionsId) } - timingsMap, err := dbr.storDb.GetTpTimings(dbr.tpid, ats.ActionTimingsId) + timingsMap, err := dbr.storDb.GetTpTimings(dbr.tpid, accountAction.ActionTimingsTag) if err != nil { return err } else if len(timingsMap) == 0 { - return fmt.Errorf("No Timing with id <%s>", ats.ActionTimingsId) + return fmt.Errorf("No Timing with id <%s>", accountAction.ActionTimingsTag) } - t := timingsMap[ats.ActionTimingsId] + t := timingsMap[accountAction.ActionTimingsTag] actTmg := &ActionTiming{ Id: utils.GenUUID(), - Tag: ats.ActionTimingsId, + Tag: accountAction.ActionTimingsTag, Weight: at.Weight, Timing: &RateInterval{ Timing: &RITiming{ diff --git a/engine/storage_interface.go b/engine/storage_interface.go index 40a942fec..4a47cd25f 100644 --- a/engine/storage_interface.go +++ b/engine/storage_interface.go @@ -147,7 +147,7 @@ type LoadStorage interface { GetTpRatingPlans(string, string) (*utils.TPRatingPlan, error) GetTpRatingProfiles(string, string) (map[string]*utils.TPRatingProfile, error) GetTpActions(string, string) (map[string][]*Action, error) - GetTpActionTimings(string, string) (map[string]utils.ApiTPActionTimings, error) + GetTpActionTimings(string, string) (map[string][]*utils.ApiActionTiming, error) GetTpActionTriggers(string, string) (map[string][]*utils.ApiActionTrigger, error) GetTpAccountActions(string, string) (map[string]*AccountAction, error) } diff --git a/engine/storage_sql.go b/engine/storage_sql.go index 56c246d1c..a10250942 100644 --- a/engine/storage_sql.go +++ b/engine/storage_sql.go @@ -1168,9 +1168,8 @@ func (self *SQLStorage) GetTpActions(tpid, tag string) (map[string][]*Action, er return as, nil } -func (self *SQLStorage) GetTpActionTimings(tpid, tag string) (ats map[string][]*ActionTiming, err error) { - ats = make(map[string][]*ActionTiming) - q := fmt.Sprintf("SELECT * FROM %s WHERE tpid='%s'", utils.TBL_TP_ACTION_TIMINGS, tpid) +func (self *SQLStorage) GetTpActionTimings(tpid, tag string) (map[string][]*utils.ApiActionTiming, error) { + q := fmt.Sprintf("SELECT tag,actions_tag,timing_tag,weight FROM %s WHERE tpid='%s'", utils.TBL_TP_ACTION_TIMINGS, tpid) if tag != "" { q += fmt.Sprintf(" AND tag='%s'", tag) } @@ -1179,19 +1178,17 @@ func (self *SQLStorage) GetTpActionTimings(tpid, tag string) (ats map[string][]* return nil, err } defer rows.Close() + ats := make(map[string][]*utils.ApiActionTiming) for rows.Next() { - var id int var weight float64 - var tpid, tag, actions_tag, timings_tag string - if err := rows.Scan(&id, &tpid, &tag, &actions_tag, &timings_tag, &weight); err != nil { + var tag, actions_tag, timing_tag string + if err := rows.Scan(&tag, &actions_tag, &timing_tag, &weight); err != nil { return nil, err } - - at := &ActionTiming{ - Id: utils.GenUUID(), - Tag: timings_tag, - Weight: weight, - ActionsId: actions_tag, + at := &utils.ApiActionTiming { + ActionsId: tag, + TimingId: timing_tag, + Weight: weight, } ats[tag] = append(ats[tag], at) }