Adding reload_cache command to cgr-console, reload_scheduler fixup

This commit is contained in:
DanB
2013-11-14 17:32:47 +01:00
parent 65d828a2c7
commit 8b29a35b96
5 changed files with 24 additions and 26 deletions

View File

@@ -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")
)

View File

@@ -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
}

View File

@@ -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{

View File

@@ -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)
}

View File

@@ -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)
}