2025-06-04 09:51:39 +08:00

44 lines
733 B
Go

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())
}
}