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