From d67203f7658672deb0895ab791ca1b583b668db0 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期一, 04 十一月 2019 10:22:19 +0800
Subject: [PATCH] realTime get data
---
server.go | 12 +++++++-----
esutil/EsClient.go | 16 +++++++---------
2 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/esutil/EsClient.go b/esutil/EsClient.go
index 1c8ef97..cc3c801 100644
--- a/esutil/EsClient.go
+++ b/esutil/EsClient.go
@@ -360,15 +360,13 @@
return value[i-1]
}
-func PostAction(sec int, Eurl string, picurl string, ishub string, size int) []byte {
+func PostAction(sec int, Eurl string, picurl string, ishub string, size int, lastT time.Time, curTime time.Time) []byte {
+ lastTimeStr := lastT.Format("2006-01-02 15:04:05")
+ curTimeStr := curTime.Format("2006-01-02 15:04:05")
index := "videopersons,personaction"
url := fmt.Sprintf("%s%s%s", Eurl, index, "/_search")
startTime := time.Now()
- seccond := strconv.Itoa(sec)
- preSec := ""
- if sec > 60 {
- preSec = "-60s"
- }
+
sizeStr :=""
if size <=0 {
sizeStr = "100"
@@ -380,9 +378,9 @@
if ishub == "hub" {
filterArr = append(filterArr,"{\"term\":{\"personIsHub\":\"1\"}}")
}
- if sec > 60 {
- filterArr = append(filterArr, "{\"range\":{\"picDate\":{\"gte\":\"now+8h-" + seccond + "s\",\"lt\":\"now+8h"+preSec+"\"}}}")
- }
+
+ filterArr = append(filterArr, "{\"range\":{\"picDate\":{\"gte\":\""+lastTimeStr+"\",\"lt\":\""+curTimeStr+"\"}}}")
+
filterStr := ""
if len(filterArr) >0 {
filterStr = strings.Join(filterArr, ",")
diff --git a/server.go b/server.go
index eb83692..a3298d9 100644
--- a/server.go
+++ b/server.go
@@ -67,15 +67,17 @@
}(conn, ech)
- tick := time.NewTicker(10 * time.Second)
-
+ tick := time.NewTicker(3 * time.Second)
+ lastTime := time.Now()
for {
select {
case <-tick.C:
- if !handleMessage(conn, connArr){
+ curTime := time.Now()
+ if !handleMessage(conn, connArr, lastTime, curTime){
conn.Close()
return
}
+ lastTime = curTime
case err := <-ech:
log.Log.Infoln(err, "remoteAddr ", remoteAddr, " close")
conn.Close()
@@ -86,8 +88,8 @@
log.Log.Infoln("Client at " + remoteAddr + " disconnected.")
}
-func handleMessage(conn net.Conn, connArr []net.Conn) bool {
- jsonstring := esutil.PostAction(*sec, *Eurl, *Picurl, *IsHub, *Size)
+func handleMessage(conn net.Conn, connArr []net.Conn,lastT time.Time, curTime time.Time) bool {
+ jsonstring := esutil.PostAction(*sec, *Eurl, *Picurl, *IsHub, *Size, lastT, curTime)
if jsonstring == nil {
log.Log.Infoln("the data is nil,remoteArr:",conn.RemoteAddr())
if _, err := conn.Write([]byte("\000"));err !=nil {
--
Gitblit v1.8.0