no message

This commit is contained in:
arraykeys
2018-07-05 01:56:18 +08:00
parent cb8d0c0b42
commit 3b49f17e01

View File

@ -97,17 +97,22 @@ func (c *Checker) start() {
//log.Printf("check %s", item.Host) //log.Printf("check %s", item.Host)
var conn net.Conn var conn net.Conn
var err error var err error
var now = time.Now().Unix()
conn, err = ConnectHost(item.Address, c.timeout) conn, err = ConnectHost(item.Address, c.timeout)
if err == nil { if err == nil {
conn.SetDeadline(time.Now().Add(time.Millisecond)) conn.SetDeadline(time.Now().Add(time.Millisecond))
conn.Close() conn.Close()
} }
if now-item.Lasttime > 1800 {
item.FailCount = 0
item.SuccessCount = 0
}
if err != nil { if err != nil {
item.FailCount = item.FailCount + 1 item.FailCount = item.FailCount + 1
} else { } else {
item.SuccessCount = item.SuccessCount + 1 item.SuccessCount = item.SuccessCount + 1
} }
item.Lasttime = time.Now().Unix() item.Lasttime = now
c.data.Set(item.Domain, item) c.data.Set(item.Domain, item)
} }
}(v.(CheckerItem)) }(v.(CheckerItem))
@ -121,11 +126,11 @@ func (c *Checker) start() {
} }
func (c *Checker) isNeedCheck(item CheckerItem) bool { func (c *Checker) isNeedCheck(item CheckerItem) bool {
var minCount uint = 5 var minCount uint = 5
if (item.SuccessCount >= minCount && item.SuccessCount > item.FailCount) || var now = time.Now().Unix()
(item.FailCount >= minCount && item.SuccessCount > item.FailCount) || if (item.SuccessCount >= minCount && item.SuccessCount > item.FailCount && now-item.Lasttime < 1800) ||
(item.FailCount >= minCount && item.SuccessCount > item.FailCount && now-item.Lasttime < 1800) ||
c.domainIsInMap(item.Domain, false) || c.domainIsInMap(item.Domain, false) ||
c.domainIsInMap(item.Domain, true) || c.domainIsInMap(item.Domain, true) {
time.Now().Unix()-item.Lasttime > 1800 {
return false return false
} }
return true return true