44 lines
763 B
Go
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())
|
|
}
|
|
}
|