diff --git a/services/attributes_it_test.go b/services/attributes_it_test.go index ec104d84b..ce2081db6 100644 --- a/services/attributes_it_test.go +++ b/services/attributes_it_test.go @@ -35,6 +35,8 @@ func TestAttributeSReload(t *testing.T) { if err != nil { t.Fatal(err) } + utils.Newlogger(utils.MetaSysLog, cfg.GeneralCfg().NodeID) + utils.Logger.SetLogLevel(7) filterSChan := make(chan *engine.FilterS, 1) filterSChan <- nil engineShutdown := make(chan bool, 1) diff --git a/services/chargers_it_test.go b/services/chargers_it_test.go index 8f902f757..77ca7b7a9 100644 --- a/services/chargers_it_test.go +++ b/services/chargers_it_test.go @@ -36,6 +36,8 @@ func TestChargerSReload(t *testing.T) { if err != nil { t.Fatal(err) } + utils.Newlogger(utils.MetaSysLog, cfg.GeneralCfg().NodeID) + utils.Logger.SetLogLevel(7) cfg.AttributeSCfg().Enabled = true filterSChan := make(chan *engine.FilterS, 1) filterSChan <- nil diff --git a/services/resources_it_test.go b/services/resources_it_test.go index 66964f378..e3c82d2c2 100644 --- a/services/resources_it_test.go +++ b/services/resources_it_test.go @@ -36,6 +36,8 @@ func TestResourceSReload(t *testing.T) { if err != nil { t.Fatal(err) } + utils.Newlogger(utils.MetaSysLog, cfg.GeneralCfg().NodeID) + utils.Logger.SetLogLevel(7) cfg.ThresholdSCfg().Enabled = true filterSChan := make(chan *engine.FilterS, 1) filterSChan <- nil diff --git a/services/schedulers_it_test.go b/services/schedulers_it_test.go index 5f4d768fa..f56ee8547 100644 --- a/services/schedulers_it_test.go +++ b/services/schedulers_it_test.go @@ -28,6 +28,7 @@ import ( "github.com/cgrates/cgrates/engine" "github.com/cgrates/cgrates/servmanager" "github.com/cgrates/cgrates/utils" + "github.com/cgrates/rpcclient" ) func TestSchedulerSReload(t *testing.T) { @@ -56,7 +57,9 @@ func TestSchedulerSReload(t *testing.T) { /*loadStorage*/ nil, filterSChan, server, nil, engineShutdown) schS := NewSchedulerService() - srvMngr.AddService(schS) + internalCdrSChan := make(chan rpcclient.RpcClientConnection, 1) + internalCdrSChan <- nil + srvMngr.AddService(schS, NewCDRServer(internalCdrSChan)) if err = srvMngr.StartServices(); err != nil { t.Error(err) } @@ -65,7 +68,7 @@ func TestSchedulerSReload(t *testing.T) { } var reply string if err := cfg.V1ReloadConfig(&config.ConfigReloadWithArgDispatcher{ - Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo"), + Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongonew"), Section: config.SCHEDULER_JSN, }, &reply); err != nil { t.Error(err) diff --git a/services/stats_it_test.go b/services/stats_it_test.go index 71396ac78..ca7848665 100644 --- a/services/stats_it_test.go +++ b/services/stats_it_test.go @@ -36,6 +36,8 @@ func TestStatSReload(t *testing.T) { if err != nil { t.Fatal(err) } + utils.Newlogger(utils.MetaSysLog, cfg.GeneralCfg().NodeID) + utils.Logger.SetLogLevel(7) cfg.ThresholdSCfg().Enabled = true filterSChan := make(chan *engine.FilterS, 1) filterSChan <- nil diff --git a/services/suppliers_it_test.go b/services/suppliers_it_test.go index 520d44821..59bd0721d 100644 --- a/services/suppliers_it_test.go +++ b/services/suppliers_it_test.go @@ -35,6 +35,8 @@ func TestSupplierSReload(t *testing.T) { if err != nil { t.Fatal(err) } + utils.Newlogger(utils.MetaSysLog, cfg.GeneralCfg().NodeID) + utils.Logger.SetLogLevel(7) cfg.StatSCfg().Enabled = true filterSChan := make(chan *engine.FilterS, 1) filterSChan <- nil diff --git a/services/thresholds_it_test.go b/services/thresholds_it_test.go index a86cfe4de..59b1d1f26 100644 --- a/services/thresholds_it_test.go +++ b/services/thresholds_it_test.go @@ -36,6 +36,8 @@ func TestThresholdSReload(t *testing.T) { if err != nil { t.Fatal(err) } + utils.Newlogger(utils.MetaSysLog, cfg.GeneralCfg().NodeID) + utils.Logger.SetLogLevel(7) filterSChan := make(chan *engine.FilterS, 1) filterSChan <- nil engineShutdown := make(chan bool, 1) diff --git a/servmanager/servmanager.go b/servmanager/servmanager.go index 3a3b14b58..456dbaf18 100644 --- a/servmanager/servmanager.go +++ b/servmanager/servmanager.go @@ -60,12 +60,11 @@ type ServiceManager struct { dm *engine.DataManager engineShutdown chan bool cacheS *engine.CacheS - - cdrStorage engine.CdrStorage - loadStorage engine.LoadStorage - filterS chan *engine.FilterS - server *utils.Server - subsystems map[string]Service + cdrStorage engine.CdrStorage + loadStorage engine.LoadStorage + filterS chan *engine.FilterS + server *utils.Server + subsystems map[string]Service dispatcherSChan chan rpcclient.RpcClientConnection } @@ -104,6 +103,12 @@ type ArgStartService struct { // ShutdownService shuts-down a service with ID func (srvMngr *ServiceManager) V1StartService(args ArgStartService, reply *string) (err error) { switch args.ServiceID { + case utils.MetaScheduler: + // stop the service using the config + srvMngr.Lock() + srvMngr.cfg.SchedulerCfg().Enabled = true + srvMngr.Unlock() + srvMngr.cfg.GetReloadChan(config.SCHEDULER_JSN) <- struct{}{} default: err = errors.New(utils.UnsupportedServiceIDCaps) } @@ -117,6 +122,12 @@ func (srvMngr *ServiceManager) V1StartService(args ArgStartService, reply *strin // ShutdownService shuts-down a service with ID func (srvMngr *ServiceManager) V1StopService(args ArgStartService, reply *string) (err error) { switch args.ServiceID { + case utils.MetaScheduler: + // stop the service using the config + srvMngr.Lock() + srvMngr.cfg.SchedulerCfg().Enabled = false + srvMngr.Unlock() + srvMngr.cfg.GetReloadChan(config.SCHEDULER_JSN) <- struct{}{} default: err = errors.New(utils.UnsupportedServiceIDCaps) } @@ -133,6 +144,8 @@ func (srvMngr *ServiceManager) V1ServiceStatus(args ArgStartService, reply *stri defer srvMngr.RUnlock() var running bool switch args.ServiceID { + case utils.MetaScheduler: + running = srvMngr.subsystems[utils.SchedulerS].IsRunning() default: return errors.New(utils.UnsupportedServiceIDCaps) }