mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Added DB reload for StatS
This commit is contained in:
committed by
Dan Christian Bogos
parent
2fab251799
commit
badd7237cc
@@ -524,7 +524,7 @@ func main() {
|
||||
chrS := services.NewChargerService(cfg, dmService, cacheS, filterSChan, server,
|
||||
attrS.GetIntenternalChan(), dspS.GetIntenternalChan())
|
||||
tS := services.NewThresholdService(cfg, dmService, cacheS, filterSChan, server)
|
||||
stS := services.NewStatService(cfg, dmService.GetDM(), cacheS, filterSChan, server,
|
||||
stS := services.NewStatService(cfg, dmService, cacheS, filterSChan, server,
|
||||
tS.GetIntenternalChan(), dspS.GetIntenternalChan())
|
||||
reS := services.NewResourceService(cfg, dmService.GetDM(), cacheS, filterSChan, server,
|
||||
tS.GetIntenternalChan(), dspS.GetIntenternalChan())
|
||||
|
||||
@@ -1639,6 +1639,7 @@ func (cfg *CGRConfig) reloadSection(section string) (err error) {
|
||||
}
|
||||
fallthrough
|
||||
case STATS_JSON:
|
||||
cfg.rldChans[DATADB_JSN] <- struct{}{} // reload datadb before
|
||||
cfg.rldChans[STATS_JSON] <- struct{}{}
|
||||
if !fall {
|
||||
break
|
||||
|
||||
@@ -31,7 +31,7 @@ import (
|
||||
)
|
||||
|
||||
// NewStatService returns the Stat Service
|
||||
func NewStatService(cfg *config.CGRConfig, dm *engine.DataManager,
|
||||
func NewStatService(cfg *config.CGRConfig, dm *DataDBService,
|
||||
cacheS *engine.CacheS, filterSChan chan *engine.FilterS,
|
||||
server *utils.Server, thrsChan,
|
||||
dispatcherChan chan rpcclient.RpcClientConnection) servmanager.Service {
|
||||
@@ -51,7 +51,7 @@ func NewStatService(cfg *config.CGRConfig, dm *engine.DataManager,
|
||||
type StatService struct {
|
||||
sync.RWMutex
|
||||
cfg *config.CGRConfig
|
||||
dm *engine.DataManager
|
||||
dm *DataDBService
|
||||
cacheS *engine.CacheS
|
||||
filterSChan chan *engine.FilterS
|
||||
server *utils.Server
|
||||
@@ -83,7 +83,7 @@ func (sts *StatService) Start() (err error) {
|
||||
}
|
||||
sts.Lock()
|
||||
defer sts.Unlock()
|
||||
sts.sts, err = engine.NewStatService(sts.dm, sts.cfg, thdSConn, filterS)
|
||||
sts.sts, err = engine.NewStatService(sts.dm.GetDM(), sts.cfg, thdSConn, filterS)
|
||||
if err != nil {
|
||||
utils.Logger.Crit(fmt.Sprintf("<StatS> Could not init, error: %s", err.Error()))
|
||||
return
|
||||
|
||||
@@ -53,7 +53,7 @@ func TestStatSReload(t *testing.T) {
|
||||
srvMngr := servmanager.NewServiceManager(cfg, engineShutdown)
|
||||
db := NewDataDBService(cfg)
|
||||
tS := NewThresholdService(cfg, db, chS, filterSChan, server)
|
||||
sS := NewStatService(cfg, nil, chS, filterSChan, server, tS.GetIntenternalChan(), nil)
|
||||
sS := NewStatService(cfg, db, chS, filterSChan, server, tS.GetIntenternalChan(), nil)
|
||||
srvMngr.AddServices(tS, sS, NewLoaderService(cfg, nil, filterSChan, server, nil, nil, engineShutdown), db)
|
||||
if err = srvMngr.StartServices(); err != nil {
|
||||
t.Error(err)
|
||||
@@ -61,6 +61,9 @@ func TestStatSReload(t *testing.T) {
|
||||
if sS.IsRunning() {
|
||||
t.Errorf("Expected service to be down")
|
||||
}
|
||||
if db.IsRunning() {
|
||||
t.Errorf("Expected service to be down")
|
||||
}
|
||||
var reply string
|
||||
if err = cfg.V1ReloadConfig(&config.ConfigReloadWithArgDispatcher{
|
||||
Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo"),
|
||||
@@ -74,6 +77,9 @@ func TestStatSReload(t *testing.T) {
|
||||
if !sS.IsRunning() {
|
||||
t.Errorf("Expected service to be running")
|
||||
}
|
||||
if !db.IsRunning() {
|
||||
t.Errorf("Expected service to be running")
|
||||
}
|
||||
cfg.StatSCfg().Enabled = false
|
||||
cfg.GetReloadChan(config.STATS_JSON) <- struct{}{}
|
||||
time.Sleep(10 * time.Millisecond)
|
||||
|
||||
@@ -49,9 +49,10 @@ func TestSupplierSReload(t *testing.T) {
|
||||
close(chS.GetPrecacheChannel(utils.CacheStatFilterIndexes))
|
||||
server := utils.NewServer()
|
||||
srvMngr := servmanager.NewServiceManager(cfg, engineShutdown)
|
||||
sts := NewStatService(cfg, nil, chS, filterSChan, server, nil, nil)
|
||||
db := NewDataDBService(cfg)
|
||||
sts := NewStatService(cfg, db, chS, filterSChan, server, nil, nil)
|
||||
supS := NewSupplierService(cfg, nil, chS, filterSChan, server, nil, sts.GetIntenternalChan(), nil, nil)
|
||||
srvMngr.AddServices(supS, sts, NewLoaderService(cfg, nil, filterSChan, server, nil, nil, engineShutdown))
|
||||
srvMngr.AddServices(supS, sts, NewLoaderService(cfg, nil, filterSChan, server, nil, nil, engineShutdown), db)
|
||||
if err = srvMngr.StartServices(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user