This commit is contained in:
aozhiwei 2024-05-06 14:49:08 +08:00
parent 9f395295f0
commit 08e7eddaa5

View File

@ -22,6 +22,7 @@ type mailMgr struct {
personalMails sync.Map //string => sync.Map<int64, *mail>
groupHash sync.Map //int64 => *userGroup
lastSyncEventIdx int64
pullingEvent bool
}
func (this *mailMgr) Init() {
@ -283,4 +284,30 @@ func (this *mailMgr) syncEvent() {
panic("sync event error")
}
});
f5.GetTimer().SetInterval(
1000 * 2,
func (e int32, args *q5.Args) {
if e == q5.TIMER_EXEC_EVENT {
this.pullEvent()
}
})
}
func (this *mailMgr) pullEvent() {
if this.pullingEvent {
return
}
this.pullingEvent = true
f5.GetJsStyleDb().SyncSelectCustomQuery(
constant.MAIL_DB,
fmt.Sprintf("SELECT * FROM t_event WHERE idx > %d;", this.lastSyncEventIdx),
func(err error, ds *f5.DataSet) {
this.pullingEvent = false
if err != nil {
return
}
for ds.Next() {
this.lastSyncEventIdx = q5.ToInt64(ds.GetByName("idx"))
}
})
}