another cdrstats purge fix

This commit is contained in:
Radu Ioan Fericean
2016-04-04 21:43:37 +03:00
parent 28f409934c
commit c85f3bdf23
2 changed files with 9 additions and 7 deletions

View File

@@ -184,19 +184,21 @@ func (sq *StatsQueue) purgeObsoleteCdrs() {
}
}
if sq.conf.TimeWindow > 0 {
var index int
index := -1
for i, cdr := range sq.Cdrs {
if time.Now().Sub(cdr.SetupTime) > sq.conf.TimeWindow {
sq.removeFromMetrics(cdr)
index = i
continue
}
index = i
break
}
if index > 0 {
sq.Cdrs = sq.Cdrs[index:]
} else {
sq.Cdrs = make([]*QCdr, 0)
if index != -1 {
if index > 0 {
sq.Cdrs = sq.Cdrs[index:]
} else {
sq.Cdrs = make([]*QCdr, 0)
}
}
}
}

View File

@@ -227,7 +227,7 @@ func TestStatsAppendCdr(t *testing.T) {
if len(cdrStats.queues) != 2 ||
len(cdrStats.queues["CDRST1"].Cdrs) != 0 ||
len(cdrStats.queues["CDRST2"].Cdrs) != 1 {
t.Error("Error appending cdr to queue: ", len(cdrStats.queues))
t.Error("Error appending cdr to queue: ", utils.ToIJSON(cdrStats.queues))
}
}