mirror of https://github.com/bjdgyc/anylink.git
优化日志落盘的代码
This commit is contained in:
parent
2d375869df
commit
c2ddb7331d
|
@ -51,8 +51,17 @@ func (p *AuditPayload) Add(userName string, pl *sessdata.Payload) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 数据落盘
|
// 数据落盘
|
||||||
func (p *AuditPayload) Write(logs []dbdata.AccessAudit) {
|
func (l *LogBatch) Write() {
|
||||||
_ = dbdata.AddBatch(logs)
|
if len(l.Logs) == 0 {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_ = dbdata.AddBatch(l.Logs)
|
||||||
|
l.Reset()
|
||||||
|
}
|
||||||
|
|
||||||
|
// 清空数据
|
||||||
|
func (l *LogBatch) Reset() {
|
||||||
|
l.Logs = []dbdata.AccessAudit{}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 开启批量写入数据功能
|
// 开启批量写入数据功能
|
||||||
|
@ -84,14 +93,10 @@ func logAuditBatch() {
|
||||||
if !outTime.Stop() {
|
if !outTime.Stop() {
|
||||||
<-outTime.C
|
<-outTime.C
|
||||||
}
|
}
|
||||||
auditPayload.Write(logBatch.Logs)
|
logBatch.Write()
|
||||||
logBatch.Logs = []dbdata.AccessAudit{}
|
|
||||||
}
|
}
|
||||||
case <-outTime.C:
|
case <-outTime.C:
|
||||||
if len(logBatch.Logs) > 0 {
|
logBatch.Write()
|
||||||
auditPayload.Write(logBatch.Logs)
|
|
||||||
logBatch.Logs = []dbdata.AccessAudit{}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue