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