mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-23 16:18:44 +05:00
Add ReplicatorSv1 for remote/replication functionality
This commit is contained in:
committed by
Dan Christian Bogos
parent
a3a59bbb64
commit
5cc9f94cc0
@@ -122,6 +122,7 @@ func (api *ApierV1Service) Start() (err error) {
|
||||
|
||||
if !api.cfg.DispatcherSCfg().Enabled {
|
||||
api.server.RpcRegister(api.api)
|
||||
api.server.RpcRegister(v1.NewReplicatorSv1(api.dm.GetDM()))
|
||||
}
|
||||
|
||||
utils.RegisterRpcParams("", &v1.CDRsV1{})
|
||||
|
||||
@@ -68,7 +68,8 @@ func (db *DataDBService) Start() (err error) {
|
||||
utils.Logger.Warning(fmt.Sprintf("Could not configure dataDb: %s.Some SessionS APIs will not work", err))
|
||||
return
|
||||
}
|
||||
var rmtDBConns, rplDBConns []*engine.DataManager
|
||||
var rmtDBConns []*engine.DataManager
|
||||
var rplConns *rpcclient.RpcClientPool
|
||||
if len(db.cfg.DataDbCfg().RmtDataDBCfgs) != 0 {
|
||||
rmtDBConns = make([]*engine.DataManager, len(db.cfg.DataDbCfg().RmtDataDBCfgs))
|
||||
for i, dbCfg := range db.cfg.DataDbCfg().RmtDataDBCfgs {
|
||||
@@ -83,21 +84,18 @@ func (db *DataDBService) Start() (err error) {
|
||||
rmtDBConns[i] = engine.NewDataManager(dbConn, nil, nil, nil)
|
||||
}
|
||||
}
|
||||
if len(db.cfg.DataDbCfg().RplDataDBCfgs) != 0 {
|
||||
rplDBConns = make([]*engine.DataManager, len(db.cfg.DataDbCfg().RplDataDBCfgs))
|
||||
for i, dbCfg := range db.cfg.DataDbCfg().RplDataDBCfgs {
|
||||
dbConn, err := engine.NewDataDBConn(dbCfg.DataDbType,
|
||||
dbCfg.DataDbHost, dbCfg.DataDbPort,
|
||||
dbCfg.DataDbName, dbCfg.DataDbUser,
|
||||
dbCfg.DataDbPass, db.cfg.GeneralCfg().DBDataEncoding,
|
||||
dbCfg.DataDbSentinelName)
|
||||
if err != nil {
|
||||
log.Fatalf("Coud not open dataDB connection: %s", err.Error())
|
||||
}
|
||||
rplDBConns[i] = engine.NewDataManager(dbConn, nil, nil, nil)
|
||||
if len(config.CgrConfig().DataDbCfg().RplConns) != 0 {
|
||||
var err error
|
||||
rplConns, err = engine.NewRPCPool(rpcclient.POOL_BROADCAST, db.cfg.TlsCfg().ClientKey,
|
||||
db.cfg.TlsCfg().ClientCerificate, db.cfg.TlsCfg().CaCertificate,
|
||||
db.cfg.GeneralCfg().ConnectAttempts, db.cfg.GeneralCfg().Reconnects,
|
||||
db.cfg.GeneralCfg().ConnectTimeout, db.cfg.GeneralCfg().ReplyTimeout,
|
||||
db.cfg.DataDbCfg().RplConns, nil, false)
|
||||
if err != nil {
|
||||
log.Fatalf("Coud not confignure dataDB replication connections: %s", err.Error())
|
||||
}
|
||||
}
|
||||
db.db = engine.NewDataManager(d, db.cfg.CacheCfg(), rmtDBConns, rplDBConns)
|
||||
db.db = engine.NewDataManager(d, db.cfg.CacheCfg(), rmtDBConns, rplConns)
|
||||
engine.SetDataStorage(db.db)
|
||||
if err = engine.CheckVersions(db.db.DataDB()); err != nil {
|
||||
fmt.Println(err)
|
||||
|
||||
@@ -176,4 +176,4 @@ func (rals *RalService) GetAPIv2() servmanager.Service {
|
||||
// GetResponder returns the responder service
|
||||
func (rals *RalService) GetResponder() servmanager.Service {
|
||||
return rals.responder
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user