mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Added DB reload for ChargerS
This commit is contained in:
committed by
Dan Christian Bogos
parent
0189ad71da
commit
4f34b9871b
@@ -521,7 +521,7 @@ func main() {
|
||||
|
||||
attrS := services.NewAttributeService(cfg, dmService, cacheS, filterSChan, server)
|
||||
dspS := services.NewDispatcherService(cfg, dmService, cacheS, filterSChan, server, attrS.GetIntenternalChan())
|
||||
chrS := services.NewChargerService(cfg, dmService.GetDM(), cacheS, filterSChan, server,
|
||||
chrS := services.NewChargerService(cfg, dmService, cacheS, filterSChan, server,
|
||||
attrS.GetIntenternalChan(), dspS.GetIntenternalChan())
|
||||
tS := services.NewThresholdService(cfg, dmService.GetDM(), cacheS, filterSChan, server)
|
||||
stS := services.NewStatService(cfg, dmService.GetDM(), cacheS, filterSChan, server,
|
||||
|
||||
@@ -1626,6 +1626,7 @@ func (cfg *CGRConfig) reloadSection(section string) (err error) {
|
||||
}
|
||||
fallthrough
|
||||
case ChargerSCfgJson:
|
||||
cfg.rldChans[DATADB_JSN] <- struct{}{} // reload datadb before
|
||||
cfg.rldChans[ChargerSCfgJson] <- struct{}{}
|
||||
if !fall {
|
||||
break
|
||||
|
||||
@@ -65,7 +65,8 @@ func TestCdrsReload(t *testing.T) {
|
||||
cacheSChan <- chS
|
||||
server := utils.NewServer()
|
||||
srvMngr := servmanager.NewServiceManager(cfg, engineShutdown)
|
||||
chrS := NewChargerService(cfg, nil, chS, filterSChan, server, nil, nil)
|
||||
db := NewDataDBService(cfg)
|
||||
chrS := NewChargerService(cfg, db, chS, filterSChan, server, nil, nil)
|
||||
schS := NewSchedulerService(cfg, nil, chS, server, make(chan rpcclient.RpcClientConnection, 1), nil)
|
||||
tS := NewThresholdService(cfg, nil, chS, filterSChan, server)
|
||||
ralS := NewRalService(cfg, nil, nil, nil, chS, filterSChan, server,
|
||||
@@ -75,7 +76,7 @@ func TestCdrsReload(t *testing.T) {
|
||||
make(chan rpcclient.RpcClientConnection, 1),
|
||||
chrS.GetIntenternalChan(), ralS.GetResponder().GetIntenternalChan(),
|
||||
nil, nil, nil, nil)
|
||||
srvMngr.AddServices(cdrS, ralS, schS, chrS, NewLoaderService(cfg, nil, filterSChan, server, cacheSChan, nil, engineShutdown))
|
||||
srvMngr.AddServices(cdrS, ralS, schS, chrS, NewLoaderService(cfg, nil, filterSChan, server, cacheSChan, nil, engineShutdown), db)
|
||||
if err = srvMngr.StartServices(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ import (
|
||||
)
|
||||
|
||||
// NewChargerService returns the Charger Service
|
||||
func NewChargerService(cfg *config.CGRConfig, dm *engine.DataManager,
|
||||
func NewChargerService(cfg *config.CGRConfig, dm *DataDBService,
|
||||
cacheS *engine.CacheS, filterSChan chan *engine.FilterS, server *utils.Server,
|
||||
attrsChan, dispatcherChan chan rpcclient.RpcClientConnection) servmanager.Service {
|
||||
return &ChargerService{
|
||||
@@ -50,7 +50,7 @@ func NewChargerService(cfg *config.CGRConfig, dm *engine.DataManager,
|
||||
type ChargerService struct {
|
||||
sync.RWMutex
|
||||
cfg *config.CGRConfig
|
||||
dm *engine.DataManager
|
||||
dm *DataDBService
|
||||
cacheS *engine.CacheS
|
||||
filterSChan chan *engine.FilterS
|
||||
server *utils.Server
|
||||
@@ -82,7 +82,7 @@ func (chrS *ChargerService) Start() (err error) {
|
||||
}
|
||||
chrS.Lock()
|
||||
defer chrS.Unlock()
|
||||
if chrS.chrS, err = engine.NewChargerService(chrS.dm, filterS, attrSConn, chrS.cfg); err != nil {
|
||||
if chrS.chrS, err = engine.NewChargerService(chrS.dm.GetDM(), filterS, attrSConn, chrS.cfg); err != nil {
|
||||
utils.Logger.Crit(
|
||||
fmt.Sprintf("<%s> Could not init, error: %s",
|
||||
utils.ChargerS, err.Error()))
|
||||
|
||||
@@ -50,7 +50,7 @@ func TestChargerSReload(t *testing.T) {
|
||||
srvMngr := servmanager.NewServiceManager(cfg, engineShutdown)
|
||||
db := NewDataDBService(cfg)
|
||||
attrS := NewAttributeService(cfg, db, chS, filterSChan, server)
|
||||
chrS := NewChargerService(cfg, nil, chS, filterSChan, server, attrS.GetIntenternalChan(), nil)
|
||||
chrS := NewChargerService(cfg, db, chS, filterSChan, server, attrS.GetIntenternalChan(), nil)
|
||||
srvMngr.AddServices(attrS, chrS, NewLoaderService(cfg, nil, filterSChan, server, nil, nil, engineShutdown), db)
|
||||
if err = srvMngr.StartServices(); err != nil {
|
||||
t.Error(err)
|
||||
@@ -58,6 +58,9 @@ func TestChargerSReload(t *testing.T) {
|
||||
if chrS.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"),
|
||||
@@ -71,6 +74,9 @@ func TestChargerSReload(t *testing.T) {
|
||||
if !chrS.IsRunning() {
|
||||
t.Errorf("Expected service to be running")
|
||||
}
|
||||
if !db.IsRunning() {
|
||||
t.Errorf("Expected service to be running")
|
||||
}
|
||||
cfg.ChargerSCfg().Enabled = false
|
||||
cfg.GetReloadChan(config.ChargerSCfgJson) <- struct{}{}
|
||||
time.Sleep(10 * time.Millisecond)
|
||||
|
||||
@@ -67,7 +67,8 @@ func TestSessionSReload(t *testing.T) {
|
||||
|
||||
server := utils.NewServer()
|
||||
srvMngr := servmanager.NewServiceManager(cfg, engineShutdown)
|
||||
chrS := NewChargerService(cfg, nil, chS, filterSChan, server, nil, nil)
|
||||
db := NewDataDBService(cfg)
|
||||
chrS := NewChargerService(cfg, db, chS, filterSChan, server, nil, nil)
|
||||
schS := NewSchedulerService(cfg, nil, chS, server, make(chan rpcclient.RpcClientConnection, 1), nil)
|
||||
ralS := NewRalService(cfg, nil, nil, nil, chS, filterSChan, server,
|
||||
/*tS*/ internalChan, internalChan, cacheSChan, internalChan, internalChan,
|
||||
@@ -78,7 +79,7 @@ func TestSessionSReload(t *testing.T) {
|
||||
nil, nil, nil, nil)
|
||||
attrS := NewSessionService(cfg, nil, server, chrS.GetIntenternalChan(),
|
||||
ralS.GetResponder().GetIntenternalChan(), nil, nil, nil, nil, nil, cdrS.GetIntenternalChan(), nil, engineShutdown)
|
||||
srvMngr.AddServices(attrS, chrS, schS, ralS, cdrS, NewLoaderService(cfg, nil, filterSChan, server, cacheSChan, nil, engineShutdown))
|
||||
srvMngr.AddServices(attrS, chrS, schS, ralS, cdrS, NewLoaderService(cfg, nil, filterSChan, server, cacheSChan, nil, engineShutdown), db)
|
||||
if err = srvMngr.StartServices(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user