cmd.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package cmd
  2. import (
  3. "fmt"
  4. "github.com/gogf/gf/v2/frame/g"
  5. "github.com/gogf/gf/v2/os/gcmd"
  6. "github.com/gogf/gf/v2/os/gcron"
  7. "github.com/gogf/gf/v2/os/glog"
  8. "golang.org/x/net/context"
  9. "nodeMonitor/internal/service"
  10. "nodeMonitor/internal/task"
  11. "time"
  12. )
  13. var (
  14. TaskMain = gcmd.Command{
  15. Name: "main",
  16. Usage: "main",
  17. Brief: "PingStatus",
  18. Func: func(ctx context.Context, parser *gcmd.Parser) (err error) {
  19. err = StartPingStart(ctx)
  20. if err != nil {
  21. return err
  22. }
  23. return nil
  24. },
  25. }
  26. )
  27. func StartPingStart(ctx context.Context) error {
  28. //go syslog.NotificationLog(ctx)
  29. clearLongTime := fmt.Sprintf("0 0 0 * * *")
  30. t, err := task.GetCronNextTime(clearLongTime, time.Now())
  31. if err != nil {
  32. glog.Error(ctx, err.Error())
  33. return err
  34. }
  35. glog.Info(ctx, "ClearLogTime:", t, err)
  36. _, err = gcron.AddSingleton(ctx, clearLongTime, func(ctx context.Context) {
  37. go task.ClearLog(ctx)
  38. }, "ClearLog")
  39. //_, err = gcron.AddSingleton(ctx, "* * * * * *", func(ctx context.Context) {
  40. // s := fmt.Sprintf("url_log ---- 开始请求\n")
  41. // websocket.SendToAll(&websocket.WResponse{
  42. // Event: "sys_log",
  43. // Data: g.Map{
  44. // "msg": s,
  45. // },
  46. // })
  47. //}, "test_weboscket_send")
  48. nodePing, err := g.Cfg().Get(ctx, "node.nodePing")
  49. if err != nil {
  50. glog.Debug(ctx, err.Error())
  51. return err
  52. }
  53. pingconfig, err := service.PingConfig().Get(ctx)
  54. if err != nil {
  55. glog.Debug(ctx, err.Error())
  56. return err
  57. }
  58. if nodePing.Int() == 1 {
  59. s := fmt.Sprintf("0 */%d * * * *", pingconfig.PingTime)
  60. _, err = gcron.AddSingleton(ctx, s, func(ctx context.Context) {
  61. go task.Ping(ctx)
  62. }, "ping_status")
  63. }
  64. return nil
  65. }