Sync session timeout after 5 seconds

This commit is contained in:
TeoV
2018-12-18 09:56:33 -05:00
committed by Dan Christian Bogos
parent 5910d3a14a
commit e35840bc48
2 changed files with 17 additions and 5 deletions

View File

@@ -23,10 +23,10 @@ children=4
auto_aliases=no
listen=udp:eth0:5060
listen=udp:enp0s3:5060
listen=udp:127.0.0.1:5080
listen=udp:127.0.0.1:5060
listen=udp:eth0:5080
listen=udp:enp0s3:5080

View File

@@ -2393,13 +2393,25 @@ func (smg *SMGeneric) syncSessions() {
rpcClnts = append(rpcClnts, conn)
}
queriedCGRIDs := make(utils.StringMap)
var err error
for _, conn := range rpcClnts {
var queriedSessionIDs []*SessionID
if conn != nil {
if err := conn.Call(utils.SessionSv1GetActiveSessionIDs,
"", &queriedSessionIDs); err != nil {
errChan := make(chan error)
go func() {
errChan <- conn.Call(utils.SessionSv1GetActiveSessionIDs,
"", &queriedSessionIDs)
}()
select {
case err = <-errChan:
if err != nil {
utils.Logger.Warning(
fmt.Sprintf("<%s> error quering session ids : %+v", utils.SessionS, err))
continue
}
case <-time.After(5 * time.Second):
utils.Logger.Warning(
fmt.Sprintf("<%s> error quering session ids : %+v", utils.SessionS, err))
fmt.Sprintf("<%s> timeout quering session ids ", utils.SessionS))
continue
}
for _, sessionID := range queriedSessionIDs {