|
@@ -139,7 +139,6 @@ func AddPingLog(ctx context.Context, pingres model.PingSt, addr string, serverid
|
|
|
|
|
|
func CheckNodeStatus(ctx context.Context, target *entity.Node, wg *sync.WaitGroup) {
|
|
|
|
|
|
- glog.Debug(ctx, "start url req .....")
|
|
|
//获取不通的IP进程url请求
|
|
|
status, err := service.Ping().GetStatus(ctx, target.Id)
|
|
|
if err != nil {
|
|
@@ -148,28 +147,52 @@ func CheckNodeStatus(ctx context.Context, target *entity.Node, wg *sync.WaitGrou
|
|
|
}
|
|
|
if status {
|
|
|
|
|
|
- if target.UrlStatus == 200 {
|
|
|
+ node, err := service.Node().GetNodeUrlCount(ctx, target.Id)
|
|
|
+ if err != nil {
|
|
|
+ glog.Debug(ctx, err.Error())
|
|
|
return
|
|
|
}
|
|
|
+ //var ping_rest nettools.IPingResult
|
|
|
+ urlcount := node.UrlCount
|
|
|
+ urlret := ""
|
|
|
+ ipstatus := 0
|
|
|
+ glog.Debug(ctx, "start url req .....")
|
|
|
client := g.Client()
|
|
|
client.SetTimeout(30 * time.Second)
|
|
|
r, err := client.Get(ctx, target.Url)
|
|
|
if err != nil {
|
|
|
glog.Debug(ctx, err.Error())
|
|
|
- SSHTaskCommand(ctx, target.Host, target.Port, target.Id)
|
|
|
return
|
|
|
}
|
|
|
defer r.Close()
|
|
|
glog.Debug(ctx, "req :", target.Url, "status :", r.Status)
|
|
|
+ //如果成功是放回IP,如果不成功是返回空
|
|
|
if r.StatusCode == 200 {
|
|
|
- err := service.Node().UpdateNodeUrlStatus(ctx, model.NodeCreateInput{Host: target.Host, UrlStatus: r.StatusCode})
|
|
|
- if err != nil {
|
|
|
- glog.Debug(ctx, err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- } else {
|
|
|
- SSHTaskCommand(ctx, target.Host, target.Port, target.Id)
|
|
|
+ urlret = r.ReadAllString()
|
|
|
+ //for i := 0; i < 20; i++ {
|
|
|
+ // if target.PingType == 0 {
|
|
|
+ // tcpping := nettools.NewIcmpPing(target.Host, time.Second*4)
|
|
|
+ // ping_rest = tcpping.Ping()
|
|
|
+ // } else {
|
|
|
+ // tcpping := nettools.NewTcpPing(target.Host, target.Port, time.Second*4)
|
|
|
+ // ping_rest = tcpping.Ping()
|
|
|
+ // }
|
|
|
+ //}
|
|
|
}
|
|
|
+
|
|
|
+ //if ping_rest.Error() == nil {
|
|
|
+ // ipstatus = 200
|
|
|
+ //} else {
|
|
|
+ // ipstatus = 400
|
|
|
+ //}
|
|
|
+
|
|
|
+ urlcount++
|
|
|
+ err = service.Node().UPdateNodeUrlCount(ctx, target.Id, urlcount, urlret, ipstatus)
|
|
|
+ if err != nil {
|
|
|
+ glog.Debug(ctx, err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
wg.Done()
|