basic
2024-01-25 63ff7306ecb1561e3c55be1b052ffe8e61ca122d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package main
 
import (
    "data_msg_push_server/config"
    "data_msg_push_server/service"
    "flag"
    "fmt"
    "time"
)
 
var env = flag.String("config", "config", "read storage info")
 
func init() {
    config.Init(*env)
}
 
func main() {
    fmt.Println("hello!!!")
    done := make(chan bool)
 
    go runEvery(done)
    //result,err  := service.GetData()
    //if err != nil {
    //    fmt.Println(err)
    //}
    //if result != nil{
    //
    //}
    <-done
    fmt.Println("程序已退出")
    //fmt.Println(res)
    //fmt.Println(err)
 
}
 
func runEvery(done chan<- bool){
    ticker := time.NewTicker(10 * time.Second)
    defer ticker.Stop()
 
    for{
        select {
        case <-ticker.C:
            fmt.Println("开始执行函数。。。")
            doServer()
            fmt.Println("本次执行完毕, 当前所有数据已发送!!!")
            time.Sleep(10 * time.Second)
        }
    }
}
 
func doServer()  {
    total := 0
    for {
        t,err := service.GetTotal()
        if err != nil {
            fmt.Println(err)
        }
        total = t
        fmt.Println("未发送的数据总量:", total)
        if total == 0 {
            break
        } else {
            for {
                connectStatus := service.ConnectControl()
                fmt.Println("connectStatus: ",connectStatus)
                if connectStatus == true {
                    url := config.ServUrls.ServerUrl
                    result, err1 := service.GetData()
                    if err1 != nil {
                        fmt.Println(err1)
                    }
                    id, errs2 := service.SendData(result, url)
                    fmt.Println("data id is: ",id)
                    if errs2 == nil{
                        //delStatus := service.DeleteData(id)
                        markStatus := service.MarkData(id)
                        fmt.Println(markStatus)
                    }
                    break
                } else {
                    fmt.Println("5秒后尝试重新连接。。。")
                    time.Sleep(5 * time.Second)
                }
            }
        }
    }
}