Adding Loader service in cgr-engine

This commit is contained in:
DanB
2018-03-28 16:30:12 +02:00
parent d687c98b3a
commit 4900a70eaf
4 changed files with 94 additions and 12 deletions

View File

@@ -34,6 +34,7 @@ import (
"github.com/cgrates/cgrates/cdrc"
"github.com/cgrates/cgrates/config"
"github.com/cgrates/cgrates/engine"
"github.com/cgrates/cgrates/loaders"
"github.com/cgrates/cgrates/scheduler"
"github.com/cgrates/cgrates/servmanager"
"github.com/cgrates/cgrates/sessions"
@@ -698,6 +699,17 @@ func startFilterService(filterSChan chan *engine.FilterS, cacheS *engine.CacheS,
}
// loaderService will start and register APIs for LoaderService if enabled
func loaderService(cacheS *engine.CacheS, cfg *config.CGRConfig,
dm *engine.DataManager, server *utils.Server, exitChan chan bool) {
ldrS := loaders.NewLoaderService(dm, cfg.LoaderSCfg(), cfg.DefaultTimezone)
if !ldrS.Enabled() {
return
}
go ldrS.ListenAndServe(exitChan)
server.RpcRegister(v1.NewLoaderSv1(ldrS))
}
func startRpc(server *utils.Server, internalRaterChan,
internalCdrSChan, internalCdrStatSChan, internalPubSubSChan, internalUserSChan,
internalAliaseSChan, internalRsChan, internalStatSChan, internalSMGChan chan rpcclient.RpcClientConnection) {
@@ -995,6 +1007,8 @@ func main() {
cfg, dm, server, exitChan, filterSChan)
}
go loaderService(cacheS, cfg, dm, server, exitChan)
// Serve rpc connections
go startRpc(server, internalRaterChan, internalCdrSChan, internalCdrStatSChan,
internalPubSubSChan, internalUserSChan, internalAliaseSChan, internalRsChan, internalStatSChan, internalSMGChan)