@@ -39,9 +39,11 @@ func NewSaveLog(name, saveColl string, mgoSaveCacheSize, sPSize, bulkSize, timeA
// SendLogs 往通道发送数据
func (s *SaveLogs) SendLogs(data map[string]interface{}) {
+ timer := time.NewTimer(time.Duration(s.Timeout) * time.Millisecond)
+ defer timer.Stop()
select {
case s.MgoSaveCache <- data:
- case <-time.After(time.Duration(s.Timeout) * time.Millisecond):
+ case <-timer.C:
log.Println("缓存通道已满,丢弃:", data)
return
}