|
@@ -52,7 +52,10 @@ func (s *SaveLogs) SaveMgo() {
|
|
|
log.Println(fmt.Sprintf("%s Save...", s.Name))
|
|
|
arr := make([]map[string]interface{}, s.BulkSize)
|
|
|
index := 0
|
|
|
+ timer := time.NewTimer(time.Duration(s.TimeAfter) * time.Millisecond)
|
|
|
+ defer timer.Stop()
|
|
|
for {
|
|
|
+ timer.Reset(time.Duration(s.TimeAfter) * time.Millisecond)
|
|
|
select {
|
|
|
case v := <-s.MgoSaveCache:
|
|
|
arr[index] = v
|
|
@@ -68,7 +71,7 @@ func (s *SaveLogs) SaveMgo() {
|
|
|
arr = make([]map[string]interface{}, s.BulkSize)
|
|
|
index = 0
|
|
|
}
|
|
|
- case <-time.After(time.Duration(s.TimeAfter) * time.Millisecond):
|
|
|
+ case <-timer.C:
|
|
|
if index > 0 {
|
|
|
s.SP <- true
|
|
|
go func(arru []map[string]interface{}) {
|