|
@@ -2,19 +2,13 @@ package cmd
|
|
|
|
|
|
import (
|
|
|
"context"
|
|
|
- "fmt"
|
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
|
"github.com/gogf/gf/v2/net/ghttp"
|
|
|
"github.com/gogf/gf/v2/net/goai"
|
|
|
"github.com/gogf/gf/v2/os/gcmd"
|
|
|
- "github.com/gogf/gf/v2/os/gcron"
|
|
|
- "github.com/gogf/gf/v2/os/glog"
|
|
|
"nodeMonitor/internal/consts"
|
|
|
"nodeMonitor/internal/router"
|
|
|
- "nodeMonitor/internal/service"
|
|
|
- "nodeMonitor/internal/task"
|
|
|
"nodeMonitor/internal/websocket"
|
|
|
- "time"
|
|
|
)
|
|
|
|
|
|
var (
|
|
@@ -37,16 +31,16 @@ var (
|
|
|
// Custom enhance API document.
|
|
|
enhanceOpenAPIDoc(s)
|
|
|
|
|
|
- err = StartPingStart(ctx)
|
|
|
- if err != nil {
|
|
|
- return err
|
|
|
- }
|
|
|
-
|
|
|
- defer func() {
|
|
|
-
|
|
|
- gcron.Stop("ping_status")
|
|
|
- gcron.Remove("ping_status")
|
|
|
- }()
|
|
|
+ //err = StartPingStart(ctx)
|
|
|
+ //if err != nil {
|
|
|
+ // return err
|
|
|
+ //}
|
|
|
+ //
|
|
|
+ //defer func() {
|
|
|
+ //
|
|
|
+ // gcron.Stop("ping_status")
|
|
|
+ // gcron.Remove("ping_status")
|
|
|
+ //}()
|
|
|
|
|
|
s.Run()
|
|
|
return nil
|
|
@@ -70,126 +64,39 @@ func enhanceOpenAPIDoc(s *ghttp.Server) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func test(ctx context.Context) {
|
|
|
- taskStatusTime, err := g.Cfg().Get(ctx, "node.taskStatusTime")
|
|
|
- if err != nil {
|
|
|
- glog.Debug(ctx, err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- s := fmt.Sprintf("0 */%d * * * *", taskStatusTime.Int())
|
|
|
- t, err := task.GetCronNextTime(s, time.Now())
|
|
|
- glog.Info(ctx, "NextTime:", t, err)
|
|
|
-
|
|
|
- for i := 0; i < 3; i++ {
|
|
|
- glog.Info(ctx, "执行任务:", i)
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-func TestCrom(ctx context.Context) error {
|
|
|
- taskStatusTime, err := g.Cfg().Get(ctx, "node.taskStatusTime")
|
|
|
- if err != nil {
|
|
|
- glog.Debug(ctx, err.Error())
|
|
|
- return err
|
|
|
- }
|
|
|
-
|
|
|
- taskName, err := g.Cfg().Get(ctx, "node.taskName")
|
|
|
- if err != nil {
|
|
|
- glog.Debug(ctx, err.Error())
|
|
|
- return err
|
|
|
- }
|
|
|
- s := fmt.Sprintf("0 */%d * * * *", taskStatusTime.Int())
|
|
|
- t, err := task.GetCronNextTime(s, time.Now())
|
|
|
- glog.Info(ctx, "NextTime:", t, err)
|
|
|
- _, err = gcron.AddSingleton(ctx, s, func(ctx context.Context) {
|
|
|
- go test(ctx)
|
|
|
- }, taskName.String())
|
|
|
- return nil
|
|
|
-}
|
|
|
-
|
|
|
-func StartPingStart(ctx context.Context) error {
|
|
|
- //go syslog.NotificationLog(ctx)
|
|
|
-
|
|
|
- clearLongTime := fmt.Sprintf("0 0 0 * * *")
|
|
|
- t, err := task.GetCronNextTime(clearLongTime, time.Now())
|
|
|
- if err != nil {
|
|
|
- glog.Error(ctx, err.Error())
|
|
|
- return err
|
|
|
- }
|
|
|
- glog.Info(ctx, "ClearLogTime:", t, err)
|
|
|
- _, err = gcron.AddSingleton(ctx, clearLongTime, func(ctx context.Context) {
|
|
|
- go task.ClearLog(ctx)
|
|
|
- }, "ClearLog")
|
|
|
-
|
|
|
- //_, err = gcron.AddSingleton(ctx, "* * * * * *", func(ctx context.Context) {
|
|
|
- // s := fmt.Sprintf("url_log ---- 开始请求\n")
|
|
|
- // websocket.SendToAll(&websocket.WResponse{
|
|
|
- // Event: "sys_log",
|
|
|
- // Data: g.Map{
|
|
|
- // "msg": s,
|
|
|
- // },
|
|
|
- // })
|
|
|
- //}, "test_weboscket_send")
|
|
|
-
|
|
|
- nodePing, err := g.Cfg().Get(ctx, "node.nodePing")
|
|
|
- if err != nil {
|
|
|
- glog.Debug(ctx, err.Error())
|
|
|
- return err
|
|
|
- }
|
|
|
-
|
|
|
- pingconfig, err := service.PingConfig().Get(ctx)
|
|
|
- if err != nil {
|
|
|
- glog.Debug(ctx, err.Error())
|
|
|
- return err
|
|
|
- }
|
|
|
-
|
|
|
- if nodePing.Int() == 1 {
|
|
|
- s := fmt.Sprintf("0 0 2 * * *", pingconfig.PingTime)
|
|
|
- _, err = gcron.AddSingleton(ctx, s, func(ctx context.Context) {
|
|
|
- go task.Ping(ctx)
|
|
|
- }, "ping_status")
|
|
|
- } else if nodePing.Int() == 0 {
|
|
|
-
|
|
|
- taskStatusTime, err := g.Cfg().Get(ctx, "node.taskStatusTime")
|
|
|
- if err != nil {
|
|
|
- glog.Error(ctx, err.Error())
|
|
|
- return err
|
|
|
- }
|
|
|
-
|
|
|
- taskName, err := g.Cfg().Get(ctx, "node.taskName")
|
|
|
- if err != nil {
|
|
|
- glog.Error(ctx, err.Error())
|
|
|
- return err
|
|
|
- }
|
|
|
-
|
|
|
- s := fmt.Sprintf("0 */%d * * * *", taskStatusTime.Int())
|
|
|
- t, err := task.GetCronNextTime(s, time.Now())
|
|
|
- if err != nil {
|
|
|
- glog.Error(ctx, err.Error())
|
|
|
- return err
|
|
|
- }
|
|
|
- glog.Info(ctx, "NextTime:", t, err)
|
|
|
- logMsg := "NextTime:" + t.String()
|
|
|
- service.TaskLog().Create(ctx, "gcron", logMsg)
|
|
|
- _, err = gcron.AddSingleton(ctx, s, func(ctx context.Context) {
|
|
|
- taskStatusTime, err := g.Cfg().Get(ctx, "node.taskStatusTime")
|
|
|
- if err != nil {
|
|
|
- glog.Error(ctx, err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- s := fmt.Sprintf("0 */%d * * * *", taskStatusTime.Int())
|
|
|
- t, err := task.GetCronNextTime(s, time.Now())
|
|
|
- if err != nil {
|
|
|
- glog.Error(ctx, err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- glog.Info(ctx, "NextTime:", t, err)
|
|
|
- logMsg := "PingStatus NextTime:" + t.String()
|
|
|
- service.TaskLog().Create(ctx, "gcron", logMsg)
|
|
|
- go task.PingStatus(ctx, t)
|
|
|
- }, taskName.String())
|
|
|
- }
|
|
|
-
|
|
|
- return nil
|
|
|
-}
|
|
|
+//func test(ctx context.Context) {
|
|
|
+// taskStatusTime, err := g.Cfg().Get(ctx, "node.taskStatusTime")
|
|
|
+// if err != nil {
|
|
|
+// glog.Debug(ctx, err.Error())
|
|
|
+// return
|
|
|
+// }
|
|
|
+//
|
|
|
+// s := fmt.Sprintf("0 */%d * * * *", taskStatusTime.Int())
|
|
|
+// t, err := task.GetCronNextTime(s, time.Now())
|
|
|
+// glog.Info(ctx, "NextTime:", t, err)
|
|
|
+//
|
|
|
+// for i := 0; i < 3; i++ {
|
|
|
+// glog.Info(ctx, "执行任务:", i)
|
|
|
+// }
|
|
|
+//}
|
|
|
+//
|
|
|
+//func TestCrom(ctx context.Context) error {
|
|
|
+// taskStatusTime, err := g.Cfg().Get(ctx, "node.taskStatusTime")
|
|
|
+// if err != nil {
|
|
|
+// glog.Debug(ctx, err.Error())
|
|
|
+// return err
|
|
|
+// }
|
|
|
+//
|
|
|
+// taskName, err := g.Cfg().Get(ctx, "node.taskName")
|
|
|
+// if err != nil {
|
|
|
+// glog.Debug(ctx, err.Error())
|
|
|
+// return err
|
|
|
+// }
|
|
|
+// s := fmt.Sprintf("0 */%d * * * *", taskStatusTime.Int())
|
|
|
+// t, err := task.GetCronNextTime(s, time.Now())
|
|
|
+// glog.Info(ctx, "NextTime:", t, err)
|
|
|
+// _, err = gcron.AddSingleton(ctx, s, func(ctx context.Context) {
|
|
|
+// go test(ctx)
|
|
|
+// }, taskName.String())
|
|
|
+// return nil
|
|
|
+//}
|