This commit is contained in:
commit
e7dc3c73e3
24
dip.go
24
dip.go
|
@ -75,35 +75,33 @@ func (group *DIPGroup) Choose(addr string) {
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
i := 0
|
i := 0
|
||||||
for ; i < 3; i++ {
|
for ; i < 2; i++ {
|
||||||
|
|
||||||
imokURL := "http://" + dhost.Host + ":8800/pppoe/imok"
|
imokURL := "http://" + dhost.Host + ":8800/pppoe/imok"
|
||||||
if _, err := requests.NewSession().Get(imokURL).Execute(); err != nil {
|
ses := requests.NewSession()
|
||||||
|
ses.SetConfig(requests.CRequestTimeout, 4)
|
||||||
|
|
||||||
|
if _, err := ses.Get(imokURL).Execute(); err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
|
if i == 2 {
|
||||||
|
// 下个需要切换的DHost错误
|
||||||
|
group.Current.ActiveTime = now + 15
|
||||||
|
delete(group.Ready, ip)
|
||||||
|
return // 不执行下面的 切换操作 for ip, dhost := range group.Ready
|
||||||
|
}
|
||||||
} else { // 如果ping 通下个切换的主机就切换
|
} else { // 如果ping 通下个切换的主机就切换
|
||||||
|
|
||||||
for ii := 0; ii < 3; ii++ {
|
for ii := 0; ii < 3; ii++ {
|
||||||
restartURL := "http://" + group.Current.Host + ":8800/pppoe/restart"
|
restartURL := "http://" + group.Current.Host + ":8800/pppoe/restart"
|
||||||
if _, err := requests.NewSession().Get(restartURL).Execute(); err != nil {
|
if _, err := ses.Get(restartURL).Execute(); err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
} else {
|
} else {
|
||||||
break // 可以切换 ii := 0; ii < 3; ii++
|
break // 可以切换 ii := 0; ii < 3; ii++
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
break // for ; i < 3; i++ {
|
break // for ; i < 3; i++ {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if i == 3 {
|
|
||||||
// 下个需要切换的DHost错误
|
|
||||||
delete(group.Ready, ip)
|
|
||||||
continue // 不执行下面的 切换操作 for ip, dhost := range group.Ready
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
group.Current = dhost
|
group.Current = dhost
|
||||||
|
|
|
@ -201,7 +201,6 @@ func (swi *Switch) switchActives(w http.ResponseWriter, req *http.Request) {
|
||||||
for addr, group := range swi.Worker.ForLoop {
|
for addr, group := range swi.Worker.ForLoop {
|
||||||
|
|
||||||
addrmap := make(map[string]interface{})
|
addrmap := make(map[string]interface{})
|
||||||
content[addr] = addrmap
|
|
||||||
|
|
||||||
isappend := int64(0)
|
isappend := int64(0)
|
||||||
var hosts []string
|
var hosts []string
|
||||||
|
@ -212,6 +211,7 @@ func (swi *Switch) switchActives(w http.ResponseWriter, req *http.Request) {
|
||||||
hosts = append(hosts, dhost.Host)
|
hosts = append(hosts, dhost.Host)
|
||||||
}
|
}
|
||||||
if isappend > 1 {
|
if isappend > 1 {
|
||||||
|
content[addr] = addrmap
|
||||||
addrmap["group"] = hosts
|
addrmap["group"] = hosts
|
||||||
addrmap["city"] = group.City
|
addrmap["city"] = group.City
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user