mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Added DB reload for ResourceS
This commit is contained in:
committed by
Dan Christian Bogos
parent
badd7237cc
commit
0545430c16
@@ -526,7 +526,7 @@ func main() {
|
||||
tS := services.NewThresholdService(cfg, dmService, cacheS, filterSChan, server)
|
||||
stS := services.NewStatService(cfg, dmService, cacheS, filterSChan, server,
|
||||
tS.GetIntenternalChan(), dspS.GetIntenternalChan())
|
||||
reS := services.NewResourceService(cfg, dmService.GetDM(), cacheS, filterSChan, server,
|
||||
reS := services.NewResourceService(cfg, dmService, cacheS, filterSChan, server,
|
||||
tS.GetIntenternalChan(), dspS.GetIntenternalChan())
|
||||
supS := services.NewSupplierService(cfg, dmService.GetDM(), cacheS, filterSChan, server,
|
||||
attrS.GetIntenternalChan(), stS.GetIntenternalChan(),
|
||||
|
||||
@@ -1633,6 +1633,7 @@ func (cfg *CGRConfig) reloadSection(section string) (err error) {
|
||||
}
|
||||
fallthrough
|
||||
case RESOURCES_JSON:
|
||||
cfg.rldChans[DATADB_JSN] <- struct{}{} // reload datadb before
|
||||
cfg.rldChans[RESOURCES_JSON] <- struct{}{}
|
||||
if !fall {
|
||||
break
|
||||
|
||||
@@ -31,7 +31,7 @@ import (
|
||||
)
|
||||
|
||||
// NewResourceService returns the Resource Service
|
||||
func NewResourceService(cfg *config.CGRConfig, dm *engine.DataManager,
|
||||
func NewResourceService(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 NewResourceService(cfg *config.CGRConfig, dm *engine.DataManager,
|
||||
type ResourceService struct {
|
||||
sync.RWMutex
|
||||
cfg *config.CGRConfig
|
||||
dm *engine.DataManager
|
||||
dm *DataDBService
|
||||
cacheS *engine.CacheS
|
||||
filterSChan chan *engine.FilterS
|
||||
server *utils.Server
|
||||
@@ -84,7 +84,7 @@ func (reS *ResourceService) Start() (err error) {
|
||||
|
||||
reS.Lock()
|
||||
defer reS.Unlock()
|
||||
reS.reS, err = engine.NewResourceService(reS.dm, reS.cfg, thdSConn, filterS)
|
||||
reS.reS, err = engine.NewResourceService(reS.dm.GetDM(), reS.cfg, thdSConn, filterS)
|
||||
if err != nil {
|
||||
utils.Logger.Crit(fmt.Sprintf("<%s> Could not init, error: %s", utils.ResourceS, err.Error()))
|
||||
return
|
||||
|
||||
@@ -53,7 +53,7 @@ func TestResourceSReload(t *testing.T) {
|
||||
srvMngr := servmanager.NewServiceManager(cfg, engineShutdown)
|
||||
db := NewDataDBService(cfg)
|
||||
tS := NewThresholdService(cfg, db, chS, filterSChan, server)
|
||||
reS := NewResourceService(cfg, nil, chS, filterSChan, server, tS.GetIntenternalChan(), nil)
|
||||
reS := NewResourceService(cfg, db, chS, filterSChan, server, tS.GetIntenternalChan(), nil)
|
||||
srvMngr.AddServices(tS, reS, NewLoaderService(cfg, nil, filterSChan, server, nil, nil, engineShutdown), db)
|
||||
if err = srvMngr.StartServices(); err != nil {
|
||||
t.Error(err)
|
||||
@@ -61,6 +61,9 @@ func TestResourceSReload(t *testing.T) {
|
||||
if reS.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 TestResourceSReload(t *testing.T) {
|
||||
if !reS.IsRunning() {
|
||||
t.Errorf("Expected service to be running")
|
||||
}
|
||||
if !db.IsRunning() {
|
||||
t.Errorf("Expected service to be running")
|
||||
}
|
||||
cfg.ResourceSCfg().Enabled = false
|
||||
cfg.GetReloadChan(config.RESOURCES_JSON) <- struct{}{}
|
||||
time.Sleep(10 * time.Millisecond)
|
||||
|
||||
Reference in New Issue
Block a user