zhangzengfei
2024-03-12 ccb6685b1b28dcd7d376887504cd98b5cd410b44
main.go
@@ -6,6 +6,8 @@
   "fmt"
   "time"
   "basic.com/valib/logger.git"
)
func init() {
@@ -14,22 +16,25 @@
func main() {
   done := make(chan bool)
   // 日志初始化
   var logFile = config.LogConf.Path + "esSyncClient.log"
   logger.InitLogger(logFile, config.LogConf.Level, config.LogConf.MaxSize, config.LogConf.MaxBackups, config.LogConf.MaxAge)
   go runEvery(done)
   <-done
   fmt.Println("程序已退出")
   logger.Debug("程序已退出")
}
func runEvery(done chan<- bool) {
   ticker := time.NewTicker(10 * time.Second)
   ticker := time.NewTicker(time.Duration(config.Options.Interval) * time.Second)
   defer ticker.Stop()
   for {
      select {
      case <-ticker.C:
         fmt.Println("开始执行函数。。。")
         logger.Debug("开始执行推送任务")
         doServer()
         fmt.Println("本次执行完毕, 当前所有数据已发送!!!")
         logger.Debug("本次执行完毕, 当前所有数据已发送!!!")
         time.Sleep(10 * time.Second)
      }
   }
@@ -40,32 +45,36 @@
   for {
      t, err := service.GetTotal()
      if err != nil {
         fmt.Println(err)
         logger.Error(err.Error())
         return
      }
      total = t
      fmt.Println("未发送的数据总量:", total)
      logger.Debug("未发送的数据总量:", total)
      if total == 0 {
         break
      } else {
         for {
            connectStatus := service.ConnectControl()
            fmt.Println("connectStatus: ", connectStatus)
            logger.Debug("服务端连接状态connectStatus: ", connectStatus)
            if connectStatus == true {
               url := config.Options.ServerUrl
               result, err1 := service.GetData()
               if err1 != nil {
                  fmt.Println(err1)
                  logger.Warn(err1.Error())
                  break
               }
               id, errs2 := service.SendData(result, url)
               fmt.Println("data id is: ", id)
               logger.Debug("推送的数据 id: ", id)
               if errs2 == nil {
                  //delStatus := service.DeleteData(id)
                  markStatus := service.MarkData(id)
                  fmt.Println(markStatus)
                  logger.Debug("记录推送状态 markStatus: ", markStatus)
               }
               break
            } else {
               fmt.Println("5秒后尝试重新连接。。。")
               logger.Debug("服务端连接失败,5秒后尝试重新连接。。。")
               time.Sleep(5 * time.Second)
            }
         }