1
0

status.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package client
  2. import (
  3. "github.com/cnlh/nps/lib/common"
  4. "github.com/cnlh/nps/lib/config"
  5. "github.com/cnlh/nps/lib/lg"
  6. "log"
  7. "os"
  8. "path/filepath"
  9. "strings"
  10. )
  11. func GetTaskStatus(path string) {
  12. cnf, err := config.NewConfig(path)
  13. if err != nil {
  14. log.Fatalln(err)
  15. }
  16. c, err := NewConn(cnf.CommonConfig.Tp, cnf.CommonConfig.VKey, cnf.CommonConfig.Server, common.WORK_CONFIG, cnf.CommonConfig.ProxyUrl)
  17. if err != nil {
  18. log.Fatalln(err)
  19. }
  20. if _, err := c.Write([]byte(common.WORK_STATUS)); err != nil {
  21. log.Fatalln(err)
  22. }
  23. if f, err := common.ReadAllFromFile(filepath.Join(common.GetTmpPath(), "npc_vkey.txt")); err != nil {
  24. log.Fatalln(err)
  25. } else if _, err := c.Write([]byte(string(f))); err != nil {
  26. log.Fatalln(err)
  27. }
  28. if l, err := c.GetLen(); err != nil {
  29. log.Fatalln(err)
  30. } else if b, err := c.ReadLen(l); err != nil {
  31. lg.Fatalln(err)
  32. } else {
  33. arr := strings.Split(string(b), common.CONN_DATA_SEQ)
  34. for _, v := range cnf.Hosts {
  35. if common.InArr(arr, v.Remark) {
  36. log.Println(v.Remark, "ok")
  37. } else {
  38. log.Println(v.Remark, "not running")
  39. }
  40. }
  41. for _, v := range cnf.Tasks {
  42. if common.InArr(arr, v.Remark) {
  43. log.Println(v.Remark, "ok")
  44. } else {
  45. log.Println(v.Remark, "not running")
  46. }
  47. }
  48. }
  49. os.Exit(0)
  50. }