Move ReloadScheduler outsire of ReloadCache in TPReader

This commit is contained in:
TeoV
2019-11-25 09:52:09 +02:00
parent bb793a4d50
commit 04551ea0ea
4 changed files with 45 additions and 14 deletions

View File

@@ -348,7 +348,10 @@ func (apiv1 *ApierV1) LoadTariffPlanFromStorDb(attrs AttrLoadTpFromStorDb, reply
if err := dbReader.ReloadCache(caching, true, attrs.ArgDispatcher); err != nil {
return utils.NewErrServerError(err)
}
utils.Logger.Info("ApierV1.LoadTariffPlanFromStorDb, reloading scheduler.")
if err := dbReader.ReloadScheduler(true); err != nil {
return utils.NewErrServerError(err)
}
*reply = utils.OK
return nil
}
@@ -839,7 +842,8 @@ func (apiv1 *ApierV1) LoadTariffPlanFromFolder(attrs utils.AttrLoadTpFromFolder,
// create the TpReader
loader, err := engine.NewTpReader(apiv1.DataManager.DataDB(),
engine.NewFileCSVStorage(utils.CSV_SEP, attrs.FolderPath, attrs.Recursive), "", apiv1.Config.GeneralCfg().DefaultTimezone,
engine.NewFileCSVStorage(utils.CSV_SEP, attrs.FolderPath, attrs.Recursive),
"", apiv1.Config.GeneralCfg().DefaultTimezone,
apiv1.CacheS, apiv1.SchedulerS)
if err != nil {
return utils.NewErrServerError(err)
@@ -873,6 +877,10 @@ func (apiv1 *ApierV1) LoadTariffPlanFromFolder(attrs utils.AttrLoadTpFromFolder,
if err := loader.ReloadCache(caching, true, attrs.ArgDispatcher); err != nil {
return utils.NewErrServerError(err)
}
utils.Logger.Info("ApierV1.LoadTariffPlanFromFolder, reloading scheduler.")
if err := loader.ReloadScheduler(true); err != nil {
return utils.NewErrServerError(err)
}
*reply = utils.OK
return nil
}
@@ -930,6 +938,10 @@ func (apiv1 *ApierV1) RemoveTPFromFolder(attrs utils.AttrLoadTpFromFolder, reply
if err := loader.ReloadCache(caching, true, attrs.ArgDispatcher); err != nil {
return utils.NewErrServerError(err)
}
utils.Logger.Info("ApierV1.RemoveTPFromFolder, reloading scheduler.")
if err := loader.ReloadScheduler(true); err != nil {
return utils.NewErrServerError(err)
}
*reply = utils.OK
return nil
}
@@ -973,7 +985,10 @@ func (apiv1 *ApierV1) RemoveTPFromStorDB(attrs AttrLoadTpFromStorDb, reply *stri
if err := dbReader.ReloadCache(caching, true, attrs.ArgDispatcher); err != nil {
return utils.NewErrServerError(err)
}
utils.Logger.Info("ApierV1.RemoveTPFromStorDB, reloading scheduler.")
if err := dbReader.ReloadScheduler(true); err != nil {
return utils.NewErrServerError(err)
}
*reply = utils.OK
return nil
}

View File

@@ -144,6 +144,10 @@ func (self *ApierV2) LoadTariffPlanFromFolder(attrs utils.AttrLoadTpFromFolder,
if err := loader.ReloadCache(caching, true, attrs.ArgDispatcher); err != nil {
return utils.NewErrServerError(err)
}
utils.Logger.Info("ApierV2.LoadTariffPlanFromFolder, reloading scheduler.")
if err := loader.ReloadScheduler(true); err != nil {
return utils.NewErrServerError(err)
}
loadHistList, err := self.DataManager.DataDB().GetLoadHistory(1, true, utils.NonTransactional)
if err != nil {
return err

View File

@@ -373,6 +373,9 @@ func main() {
}); err != nil {
log.Fatal("Could not reload cache: ", err)
}
if err := tpReader.ReloadScheduler(*verbose); err != nil {
log.Fatal("Could not reload scheduler: ", err)
}
} else {
if err := tpReader.RemoveFromDatabase(*verbose, *disableReverse); err != nil {
log.Fatal("Could not delete from database: ", err)

View File

@@ -2502,17 +2502,6 @@ func (tpr *TpReader) ReloadCache(caching string, verbose bool, argDispatcher *ut
log.Printf("WARNING: Got error on cache clear: %s\n", err.Error())
}
// in case we have action plans reload the scheduler
if len(aps) != 0 {
if verbose {
log.Print("Reloading scheduler")
}
if err = tpr.schedulerS.Call(utils.SchedulerSv1Reload,
new(utils.CGREventWithArgDispatcher), &reply); err != nil {
log.Printf("WARNING: Got error on scheduler reload: %s\n", err.Error())
}
}
//get loadIDs for all types
loadIDs, err := tpr.dm.GetItemLoadIDs(utils.EmptyString, false)
if err != nil {
@@ -2527,3 +2516,23 @@ func (tpr *TpReader) ReloadCache(caching string, verbose bool, argDispatcher *ut
tpr.Init()
return
}
func (tpr *TpReader) ReloadScheduler(verbose bool) (err error) {
var reply string
aps, _ := tpr.GetLoadedIds(utils.ACTION_PLAN_PREFIX)
// in case we have action plans reload the scheduler
if len(aps) != 0 {
if tpr.schedulerS == nil {
log.Print("Scheduler required but the connection is nil")
return
}
if verbose {
log.Print("Reloading scheduler")
}
if err = tpr.schedulerS.Call(utils.SchedulerSv1Reload,
new(utils.CGREventWithArgDispatcher), &reply); err != nil {
log.Printf("WARNING: Got error on scheduler reload: %s\n", err.Error())
}
}
return
}