samba/server/other/monitor/matching.go
2025-06-04 09:51:39 +08:00

44 lines
763 B
Go

package monitor
import (
"fmt"
"samba/pkg/log"
"samba/pkg/task"
"samba/pkg/xtime"
"samba/util/model"
"time"
)
// MatchingMonitor
// 匹配异常检测检测
type MatchingMonitor struct {
*Ding
}
func (m *MatchingMonitor) Init(t *task.Task) {
t.Ticker(10 * time.Minute)
}
func (m *MatchingMonitor) Name() string {
return "匹配异常检测"
}
func (m *MatchingMonitor) Do(*task.Task) {
stamp, err := model.NewRealPlayGameOp().Get()
if err != nil {
log.Error(err.Error())
return
}
dur := xtime.ConvertToCarbon(stamp).DiffInDuration(xtime.Now())
if dur < 15*time.Minute {
return
}
err = m.Ding.SendMessageText(fmt.Sprintf("匹配异常!%.2f分钟内没有真人对局", dur.Minutes()))
if err != nil {
log.Error(err.Error())
}
}