From 146feb0ca5d4635aeef1fdc8a3ed2fc878f0fba3 Mon Sep 17 00:00:00 2001 From: Trial97 Date: Wed, 25 Sep 2019 14:33:33 +0300 Subject: [PATCH] Added connection reload for ERs --- ers/ers.go | 6 ++++++ services/ers.go | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/ers/ers.go b/ers/ers.go index 27821fa5a..635a73f5a 100644 --- a/ers/ers.go +++ b/ers/ers.go @@ -291,3 +291,9 @@ func (erS *ERService) processEvent(cgrEv *utils.CGREvent, rdrCfg *config.EventRe return } + +// SetSessionSConnection sets the new connection to the threshold service +// only used on reload +func (erS *ERService) SetSessionSConnection(sS rpcclient.RpcClientConnection) { + erS.sS = sS +} diff --git a/services/ers.go b/services/ers.go index 8c4773686..4037245b6 100644 --- a/services/ers.go +++ b/services/ers.go @@ -82,7 +82,14 @@ func (erS *EventReaderService) GetIntenternalChan() (conn chan rpcclient.RpcClie // Reload handles the change of config func (erS *EventReaderService) Reload(sp servmanager.ServiceProvider) (err error) { + var sS rpcclient.RpcClientConnection + if sS, err = sp.GetConnection(utils.SessionS, sp.GetConfig().ERsCfg().SessionSConns); err != nil { + utils.Logger.Crit(fmt.Sprintf("<%s> failed connecting to <%s>, error: <%s>", + utils.ERs, utils.SessionS, err.Error())) + return + } erS.RLock() + erS.ers.SetSessionSConnection(sS) erS.rldChan <- struct{}{} erS.RUnlock() return