From 3c8609a3da72cb2f3610f3f1789dafacc6c0f40f Mon Sep 17 00:00:00 2001
From: 龙赣华 <slongertian@gmail.com>
Date: 星期五, 31 五月 2019 11:13:58 +0800
Subject: [PATCH] add heartbeat
---
/dev/null | 79 --------
go.sum | 39 ++--
test | 0
tasktag/tasktag.go | 33 +--
go.mod | 15 +
main.go | 21 +
sdk/sdk.go | 32 +--
util/sqlite.go | 79 ++++++++
camera/camera.go | 191 ++++++++++----------
9 files changed, 244 insertions(+), 245 deletions(-)
diff --git a/camera/camera.go b/camera/camera.go
index e24cf2f..d4b3cce 100644
--- a/camera/camera.go
+++ b/camera/camera.go
@@ -1,141 +1,138 @@
package camera
import (
- "errors"
+ "errors"
- "basic.com/dbapi.git"
- "basic.com/valib/deliver.git"
- "basic.com/pubsub/protomsg.git"
+ "basic.com/dbapi.git"
+ "basic.com/valib/deliver.git"
- "github.com/long/test/sdk"
+ "github.com/long/test/sdk"
+ "github.com/long/test/util"
- "context"
- "fmt"
- "sync"
- "time"
- )
+ "context"
+ "fmt"
+ "sync"
+ "time"
+)
//var SocketManage = make(map[string]SocketContext)
var SocketManage sync.Map
var Initchannel = make(chan string)
- type SocketContext struct {
- Sock deliver.Deliver
- Context context.Context
- Cancel context.CancelFunc
- }
+type SocketContext struct {
+ Sock deliver.Deliver
+ Context context.Context
+ Cancel context.CancelFunc
+}
var camval dbapi.CameraApi
-//get camera with task
-var cameraTasks []protomsg.CameraAndTaskInfo
-
func Init() {
- fmt.Println("============ camera info ====================")
- ctsid := camval.FindAll()
+ fmt.Println("============ camera info ====================")
+ for _, cd := range util.CameraIds {
+ fmt.Println(cd)
+ fmt.Println()
+ }
- fmt.Println("==============camera camera with task ================")
- cameraTasks=camval.FindAllCameraAndTask()
+ go CreateCamera(Initchannel)
- go CreateCamera(Initchannel)
-
- for _, cam := range ctsid {
- Initchannel <- cam.Id
- }
+ for _, cam := range util.CameraIds {
+ Initchannel <- cam.Id
+ }
}
func CreateCamera(camera chan string) {
- for camid := range camera {
- if _, ok := SocketManage.Load(camid); !ok {
- url := fmt.Sprintf("ipc:///tmp/%s.ipc", camid)
+ for camid := range camera {
+ if _, ok := SocketManage.Load(camid); !ok {
+ url := fmt.Sprintf("ipc:///tmp/%s.ipc", camid)
- id, socketlisten, err := NewCamerSocketListen(deliver.PushPull, camid, url)
- if err != nil {
- fmt.Println("create socket error")
- continue
- }
+ id, socketlisten, err := NewCamerSocketListen(deliver.PushPull, camid, url)
+ if err != nil {
+ fmt.Println("create socket error")
+ continue
+ }
- go func(cid string, sock SocketContext ){
- Recv(cid,sock)
- }(id,socketlisten)
- }
- }
+ go func(cid string, sock SocketContext) {
+ Recv(cid, sock)
+ }(id, socketlisten)
+ }
+ }
}
// create server
func NewCamerSocketListen(mode int, cameraid string, url string) (cid string, socket SocketContext, err error) {
- ctx, cancel := context.WithCancel(context.Background())
+ ctx, cancel := context.WithCancel(context.Background())
- socket.Context = ctx
- socket.Cancel = cancel
+ socket.Context = ctx
+ socket.Cancel = cancel
- socket.Sock = deliver.NewServer(deliver.Mode(mode), url)
- fmt.Println("new socket.Sock: ", socket.Sock)
+ socket.Sock = deliver.NewServer(deliver.Mode(mode), url)
+ fmt.Println("new socket.Sock: ", socket.Sock)
- if socket.Sock == nil {
- return cameraid, socket, errors.New("create listen error")
- }
- SocketManage.Store(cameraid, socket)
- return cameraid, socket, nil
+ if socket.Sock == nil {
+ return cameraid, socket, errors.New("create listen error")
+ }
+ SocketManage.Store(cameraid, socket)
+ return cameraid, socket, nil
}
func Recv(cameraid string, socket SocketContext) {
- var msg []byte
- var err error
- for {
- select {
- case <-socket.Context.Done():
- fmt.Println("listen recv quit")
- return
- default:
- if msg, err = socket.Sock.Recv(); err != nil {
- fmt.Println("err is: ", cameraid, err)
- continue
- } else {
- fmt.Println()
- fmt.Println("============== one msg input ==========")
- fmt.Println("cameraid: ",cameraid, len(msg))
- for _, taskid := range GetAlltask(cameraid) {
- time.Sleep(5* time.Second)
- fmt.Println("cameraid: ",cameraid," taskid: ", taskid)
- Taskdolist(cameraid, taskid, msg)
- }
- }
- }
- }
+ var msg []byte
+ var err error
+ for {
+ select {
+ case <-socket.Context.Done():
+ fmt.Println("listen recv quit")
+ return
+ default:
+ if msg, err = socket.Sock.Recv(); err != nil {
+ fmt.Println("err is: ", cameraid, err)
+ continue
+ } else {
+ fmt.Println()
+ fmt.Println("============== one msg input ==========")
+ fmt.Println("cameraid: ", cameraid, len(msg))
+ for _, taskid := range GetAlltask(cameraid) {
+ time.Sleep(5 * time.Second)
+ fmt.Println("cameraid: ", cameraid, " taskid: ", taskid)
+ Taskdolist(cameraid, taskid, msg)
+ }
+ }
+ }
+ }
}
// 鏍规嵁cid 鑾峰彇 鎵�鏈夌殑浠诲姟
func GetAlltask(cid string) (tasks []string) {
- for _, camsingle := range cameraTasks {
- if cid == camsingle.Camera.Id {
- for _, tasksingle := range camsingle.Tasks {
- tasks = append(tasks, tasksingle.Taskid)
- }
- return
- }
- }
- return
+ for _, camsingle := range util.CameraTasks {
+ if cid == camsingle.Camera.Id {
+ for _, tasksingle := range camsingle.Tasks {
+ tasks = append(tasks, tasksingle.Taskid)
+ }
+ return
+ }
+ }
+ return
}
func Taskdolist(cid string, taskid string, data []byte) {
- // 鏁版嵁鍔犲伐(鎵撴爣绛�)
- sdkmsg := sdk.SdkData(cid, taskid, data)
- if sdkmsg.Tasklab == nil {
- fmt.Println("cid:%s 娌℃湁浠诲姟%s", cid, taskid)
- return
- }
+ // 鏁版嵁鍔犲伐(鎵撴爣绛�)
+ sdkmsg := sdk.SdkData(cid, taskid, data)
+ if sdkmsg.Tasklab == nil {
+ fmt.Println("cid:%s 娌℃湁浠诲姟%s", cid, taskid)
+ return
+ }
- // 璁$畻鍒嗗彂鐨勪富棰�
- SendTopic := sdk.SdkSendTopic(sdkmsg)
- if _, ok := sdk.SdkMap[SendTopic]; ok {
- fmt.Println("鍒嗗彂鐨勪富棰樺瓨鍦�")
- sdk.SdkMap[SendTopic] <- sdkmsg
- //fmt.Println("閲嶆柊寮�濮嬪惊鐜�: ", sdk.SdkMap)
- } else {
- fmt.Println("鍒嗗彂鐨勪富棰樹笉瀛樺湪")
- }
+ // 璁$畻鍒嗗彂鐨勪富棰�
+ SendTopic := sdk.SdkSendTopic(sdkmsg)
+ if _, ok := sdk.SdkMap[SendTopic]; ok {
+ fmt.Println("鍒嗗彂鐨勪富棰樺瓨鍦�")
+ sdk.SdkMap[SendTopic] <- sdkmsg
+ //fmt.Println("閲嶆柊寮�濮嬪惊鐜�: ", sdk.SdkMap)
+ } else {
+ fmt.Println("鍒嗗彂鐨勪富棰樹笉瀛樺湪")
+ }
}
diff --git a/go.mod b/go.mod
index 45d72ff..ba788dc 100644
--- a/go.mod
+++ b/go.mod
@@ -4,14 +4,17 @@
require (
basic.com/dbapi.git v0.0.0-20190523103034-c0d33072098b
- basic.com/pubsub/protomsg.git v0.0.0-20190524072049-ce8c0f2b14dd
- basic.com/valib/deliver.git v0.0.0-20190522053509-c2bbe31e7c6c
- github.com/gogo/protobuf v1.2.1 // indirect
+ basic.com/pubsub/protomsg.git v0.0.0-20190530084829-0ea842491a96
+ basic.com/r/dbapi.git v0.0.0-20190523103034-c0d33072098b
+ basic.com/valib/deliver.git v0.0.0-20190529080650-3e64847c9bce
+ basic.com/valib/gopherdiscovery.git v0.0.0-20190530055034-f8c281d054f6
+ github.com/gogo/protobuf v1.2.1
github.com/golang/protobuf v1.3.1
github.com/gorilla/websocket v1.4.0 // indirect
+ github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a // indirect
github.com/tmthrgd/go-sem v0.0.0-20160607101025-0214dbf53877 // indirect
github.com/tmthrgd/go-shm v0.0.0-20170117044846-90afcfcd5ee9 // indirect
- github.com/tmthrgd/shm-go v0.0.0-20170130075737-7207ca97b290
- golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5 // indirect
- nanomsg.org/go-mangos v1.4.0
+ github.com/tmthrgd/shm-go v0.0.0-20170130075737-7207ca97b290 // indirect
+ golang.org/x/net v0.0.0-20190522155817-f3200d17e092 // indirect
+ nanomsg.org/go-mangos v1.4.0 // indirect
)
diff --git a/go.sum b/go.sum
index 6d98dfd..50e82fb 100644
--- a/go.sum
+++ b/go.sum
@@ -1,31 +1,32 @@
-basic.com/dbapi.git v0.0.0-20190523025708-eaf1da6b55de h1:tkAqiVXaBz8upBGGu60jExv0H5H7m2OWZdR8aTAJkp0=
-basic.com/dbapi.git v0.0.0-20190523025708-eaf1da6b55de/go.mod h1:eDXPnxaz6jZPDvBSk7ya7oSASWPCuUEgRTJCjsfKt/Q=
basic.com/dbapi.git v0.0.0-20190523103034-c0d33072098b h1:gzr51BWE821BzyhRb0iiP5Wu/yXTkbfcz0BkzfjacMs=
basic.com/dbapi.git v0.0.0-20190523103034-c0d33072098b/go.mod h1:eDXPnxaz6jZPDvBSk7ya7oSASWPCuUEgRTJCjsfKt/Q=
-basic.com/pubsub/protomsg.git v0.0.0-20190523080134-c2459cf7ffa7 h1:AmdkBGk95CJy0jMU2SJkQNgldpPCMyAifeAPxUngQsw=
-basic.com/pubsub/protomsg.git v0.0.0-20190523080134-c2459cf7ffa7/go.mod h1:un5NV5VWQoblVLZfx1Rt5vyLgwR0jI92d3VJhfrJhWU=
-basic.com/pubsub/protomsg.git v0.0.0-20190524044418-e6c6e5fdcdab h1:kTHZgvhdEJ+Vdbi1bBhKRA2oTYMhLZDqpWWk40yUd3s=
-basic.com/pubsub/protomsg.git v0.0.0-20190524044418-e6c6e5fdcdab/go.mod h1:un5NV5VWQoblVLZfx1Rt5vyLgwR0jI92d3VJhfrJhWU=
-basic.com/pubsub/protomsg.git v0.0.0-20190524072049-ce8c0f2b14dd h1:Z1KVegr3JrNHaJFAv6yRniNIWdvzLWBPkpBRnpzgnYg=
-basic.com/pubsub/protomsg.git v0.0.0-20190524072049-ce8c0f2b14dd/go.mod h1:un5NV5VWQoblVLZfx1Rt5vyLgwR0jI92d3VJhfrJhWU=
-basic.com/valib/deliver.git v0.0.0-20190522053509-c2bbe31e7c6c h1:nyclQo40lBhvt2LnsaG/tNyxuotKou0V67jL1jBcJfM=
-basic.com/valib/deliver.git v0.0.0-20190522053509-c2bbe31e7c6c/go.mod h1:bkYiTUGzckyNOjAgn9rB/DOjFzwoSHJlruuWQ6hu6IY=
-github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE=
+basic.com/pubsub/protomsg.git v0.0.0-20190530084829-0ea842491a96 h1:7nkipxWDbIK4wRbLCZeUoGxzdEIxZFumSTM6xhfWiWM=
+basic.com/pubsub/protomsg.git v0.0.0-20190530084829-0ea842491a96/go.mod h1:un5NV5VWQoblVLZfx1Rt5vyLgwR0jI92d3VJhfrJhWU=
+basic.com/r/dbapi.git v0.0.0-20190523103034-c0d33072098b h1:gIfKQeYTnO/y6mfrhx1ZPAyk0kgeocma9DXsgRdimoI=
+basic.com/r/dbapi.git v0.0.0-20190523103034-c0d33072098b/go.mod h1:5ia9iOg9Q8kvHoxo9rAOMF++ws7h1Mvj8b4L9C4c2MA=
+basic.com/valib/deliver.git v0.0.0-20190529080650-3e64847c9bce h1:/D6k+FVN1sMqLz6tMlsIl9bKwE2Mpc5d4QfPh0y4DSQ=
+basic.com/valib/deliver.git v0.0.0-20190529080650-3e64847c9bce/go.mod h1:bkYiTUGzckyNOjAgn9rB/DOjFzwoSHJlruuWQ6hu6IY=
+basic.com/valib/gopherdiscovery.git v0.0.0-20190530055034-f8c281d054f6 h1:0srMU/gU5qyX726Jvi28dXN8StnmlVGRbj+SzI/8OVs=
+basic.com/valib/gopherdiscovery.git v0.0.0-20190530055034-f8c281d054f6/go.mod h1:CQ+UJyZV8MRzwwckncdUDu6/RDTKAzSIPCxc9tFcwPs=
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
-github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q=
+github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
+github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
-github.com/tmthrgd/go-sem v0.0.0-20160607101025-0214dbf53877 h1:n65+IT/xy5+trHm3Zpg9+j7IO4n8pBcPzvaKbMolW8U=
+github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
+github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/tmthrgd/go-sem v0.0.0-20160607101025-0214dbf53877/go.mod h1:sgTk9wg3WurMlziuB3hcfgHYTz3pEkjQpSCTT8V2pW8=
-github.com/tmthrgd/go-shm v0.0.0-20170117044846-90afcfcd5ee9 h1:uVRQSWD6TOlWlLJ7IYYmbjRr0Xg35ADFN89HGQLPFGI=
github.com/tmthrgd/go-shm v0.0.0-20170117044846-90afcfcd5ee9/go.mod h1:vy1jksyhzuQOMkHXMEi+X2bZ47ZeCn3QTnYdFBesABs=
-github.com/tmthrgd/shm-go v0.0.0-20170130075737-7207ca97b290 h1:5zW+TRr0WH4uN72/E/XYwb1PcaYN5BIB/FUbcQ0nHr0=
github.com/tmthrgd/shm-go v0.0.0-20170130075737-7207ca97b290/go.mod h1:e9PZQr6zVezMTwj1v0j1YhGCNdS2zTCjXU9q9K+HHGk=
-golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5 h1:f005F/Jl5JLP036x7QIvUVhNTqxvSYwFIiyOh2q12iU=
-golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190522155817-f3200d17e092 h1:4QSRKanuywn15aTZvI/mIDEgPQpswuFndXpOj3rKEco=
+golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU=
+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-nanomsg.org/go-mangos v1.4.0 h1:pVRLnzXePdSbhWlWdSncYszTagERhMG5zK/vXYmbEdM=
+golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
nanomsg.org/go-mangos v1.4.0/go.mod h1:MOor8xUIgwsRMPpLr9xQxe7bT7rciibScOqVyztNxHQ=
diff --git a/httpclient/es_test.go b/httpclient/es_test.go
deleted file mode 100644
index ab254fe..0000000
--- a/httpclient/es_test.go
+++ /dev/null
@@ -1,34 +0,0 @@
-package httpclient
-
-import (
- "testing"
-)
-
-//func TestGetEsDataReq(t *testing.T) {
-// var queryparam = `{
-// "query":{
-// "match_all":{}
-// },
-// "sort":[{"picDate":{"order":"desc"}}],
-// "size":"10",
-// "_source":["Id","FaceFeature","picDate"]
-// }`
-//
-// //testmap := GetEsDataReq("http://192.168.1.182:9200/videopersons/_search", queryparam, true)
-// // t.Log(testmap)
-// GetEsDataReq("http://192.168.1.182:9200/videopersons/_search", queryparam, true)
-// t.Log("success")
-//
-//}
-
-func TestGetEsDataReq(t *testing.T) {
- GetEsDataReq("http://192.168.1.133:8000/data/api-v/camera/queryCameraAndTaskInfo")
- t.Log("success")
-
-}
-
-func TestGetSdk(t *testing.T) {
- sdks := GetSdk("http://127.0.0.1:8000/data/api-v/sdk/findskdid")
- t.Log(sdks)
-
-}
diff --git a/httpclient/esutil.go b/httpclient/esutil.go
deleted file mode 100644
index ff6693b..0000000
--- a/httpclient/esutil.go
+++ /dev/null
@@ -1,79 +0,0 @@
-package httpclient
-
-import (
- "encoding/json"
- "fmt"
- "net/http"
-)
-
-type CamerSdkStruct struct {
- Sdkid string `json:"sdkId"`
- Sdkname string `json:"sdkName"`
- Sdkargs string `json:"sdkArgs`
-}
-
-type Tasksingle struct {
- Taskid string `json:"taskid"`
- SdkList []CamerSdkStruct `json:"sdklist"`
-}
-
-type Camerasingle struct {
- Cameraid string `json:"cameraid"`
- RtspUrl string `json:"rtspUrl"`
- TaskList []Tasksingle `json:tasklist`
-}
-
-// get relative of camera, task and sdk
-func GetEsDataReq(url string, parma ...string) []Camerasingle {
-
- fmt.Println("鏌ヨ璇锋眰璺緞" + url) // 閰嶇疆淇℃伅 鑾峰彇
-
- client := &http.Client{}
- req, err := http.NewRequest("GET", url, nil)
- req.Header.Add("Content-Type", "application/json")
- resp, err := client.Do(req)
- if err != nil {
- fmt.Println(err)
- }
- defer resp.Body.Close()
-
- var responsedata []Camerasingle
- err = json.NewDecoder(resp.Body).Decode(&responsedata)
- if err != nil {
- fmt.Println(err)
- }
-
- return responsedata
-}
-
-// 鑾峰彇鎵�鏈夌殑绠楁硶id
-
-type sdkInfo struct {
- SdkId string `json:"SdkId"`
-}
-
-func GetSdk(url string) []string {
- var sdkslice []string
- fmt.Println("鏌ヨ璇锋眰璺緞" + url) // 閰嶇疆淇℃伅 鑾峰彇
-
- client := &http.Client{}
- req, err := http.NewRequest("GET", url, nil)
- req.Header.Add("Content-Type", "application/json")
- resp, err := client.Do(req)
- if err != nil {
- fmt.Println(err)
- }
- defer resp.Body.Close()
-
- var sdkIds []sdkInfo
- err = json.NewDecoder(resp.Body).Decode(&sdkIds)
- if err != nil {
- fmt.Println(err)
- }
-
- for _, sdksingle := range sdkIds {
- sdkslice = append(sdkslice, sdksingle.SdkId)
- }
-
- return sdkslice
-}
diff --git a/main.go b/main.go
index 776205f..d7bcb34 100644
--- a/main.go
+++ b/main.go
@@ -1,24 +1,37 @@
package main
import (
+ "fmt"
"log"
"net/http"
_ "net/http/pprof"
+ "time"
"github.com/long/test/camera"
-
- // "github.com/long/test/httpclient"
"github.com/long/test/sdk"
"github.com/long/test/tasktag"
- "time"
+ "github.com/long/test/util"
+ // "github.com/long/test/camera"
+ // "github.com/long/test/sdk"
+ // "github.com/long/test/tasktag"
)
+var initchan = make(chan bool)
+
func main() {
+
// pprof 鐢ㄤ簬鍒嗘瀽鎬ц兘
go func() {
- log.Println(http.ListenAndServe("192.168.1.123:6060", nil))
+ log.Println(http.ListenAndServe("0.0.0.0:6060", nil))
}()
+ go util.Init(initchan)
+
+ fmt.Println("init ok !!!!, start sdk, task, camera init process ....", <-initchan)
+ fmt.Println()
+ fmt.Println()
+ fmt.Println()
+ fmt.Println()
sdk.Init() // 鑾峰彇鎵�鏈夌畻娉昳d ,寤虹珛 sdk 涓婚锛� 寤虹珛sdk server(send, recv 杩愯)
tasktag.Init() // 鑾峰彇鎵�鏈変换鍔★紝寤虹珛浠诲姟鏍囩锛� 鍦ㄦ暟鎹繘鍏ユ椂锛� 鎵撴爣绛�
camera.Init() //鑾峰彇cid, taskid, sdkid ,鍏崇郴
diff --git a/sdk/sdk.go b/sdk/sdk.go
index 9a4715f..0eddfb3 100644
--- a/sdk/sdk.go
+++ b/sdk/sdk.go
@@ -5,25 +5,22 @@
"errors"
"fmt"
-// "github.com/long/test/httpclient"
+ // "github.com/long/test/httpclient"
"github.com/long/test/tasktag"
"github.com/long/test/util"
"github.com/golang/protobuf/proto"
- "basic.com/valib/deliver.git"
"basic.com/pubsub/protomsg.git"
- "basic.com/dbapi.git"
+ "basic.com/valib/deliver.git"
)
const (
- postPull="_1.ipc"
- postPush="_2.ipc"
+ postPull = "_1.ipc"
+ postPush = "_2.ipc"
)
var SocketManage = make(map[string]SocketContext)
-
-var sdkapi dbapi.SdkApi
type SocketContext struct {
Sock deliver.Deliver
@@ -33,19 +30,18 @@
func Init() {
- fmt.Println("============= init sdk info =====================")
- sdklist := SdkAll() //鑾峰彇鎵�鏈塻dk
- SdkCreateTopic(sdklist) // 鍒涘缓涓婚
+ fmt.Println("============= init sdk info =====================")
+ SdkCreateTopic(util.Sdklist) // 鍒涘缓涓婚
- for _, sdkid := range sdklist { // 鍒涘缓sdk server
- url := fmt.Sprintf("ipc:///tmp/%s%s",sdkid,postPull)
+ for _, sdkid := range util.Sdklist { // 鍒涘缓sdk server
+ url := fmt.Sprintf("ipc:///tmp/%s%s", sdkid, postPull)
sdkidser, socketser, err := NewSdkSocketListen(deliver.PushPull, sdkid, url)
if err != nil {
continue
}
go Send(sdkidser, socketser, SdkMap[sdkid])
- url = fmt.Sprintf("ipc:///tmp/%s%s",sdkid,postPush)
+ url = fmt.Sprintf("ipc:///tmp/%s%s", sdkid, postPush)
_, socketdial, err := NewSdkSocketListen(deliver.PushPull, sdkid, url)
if err != nil {
continue
@@ -110,13 +106,6 @@
return
}
-// 璋冪敤 http 鍊熷彛鑾峰彇鎽勫儚鏈轰俊鎭�
-func SdkAll() (sdklist []string) {
- //sdklist = httpclient.GetSdk("http://192.168.1.124:8000/data/api-v/sdk/findskdid")
- sdklist = sdkapi.GetAllSdkIds()
- return
-}
-
// 鍒涘缓涓婚
func SdkCreateTopic(sdklist []string) (err error) {
for _, sdkid := range sdklist {
@@ -129,7 +118,6 @@
return nil
}
-
// create server
func NewSdkSocketListen(mode int, sdkid string, url string) (sid string, socket SocketContext, err error) {
@@ -214,7 +202,7 @@
fmt.Println("send len of data: ", len(data))
if err := socket.Sock.Send(data); err != nil {
- fmt.Println(socket.Sock)
+ fmt.Println(socket.Sock)
fmt.Println("failed send")
continue
}
diff --git a/tasktag/tasktag.go b/tasktag/tasktag.go
index 0bc06ce..87b0835 100644
--- a/tasktag/tasktag.go
+++ b/tasktag/tasktag.go
@@ -2,30 +2,27 @@
import (
"fmt"
+
"basic.com/pubsub/protomsg.git"
- "basic.com/dbapi.git"
+ "github.com/long/test/util"
)
-var TaskMapLab = make(map[string] *protomsg.TaskLabel)
-var taskapi dbapi.TaskApi
+var TaskMapLab = make(map[string]*protomsg.TaskLabel)
func Init() {
- fmt.Println("=========== tasktag info ====================")
var tls []protomsg.TaskLabel
+ fmt.Println("============= init tasktag info =====================")
- taskSdks := taskapi.FindAll()
- for _, taskSdk := range taskSdks {
- fmt.Println("test: ", taskSdk)
- var tl protomsg.TaskLabel
- tl.Taskid = taskSdk.Task.Taskid
- for _, sdkinfo := range taskSdk.Sdks {
- tl.Sdkids = append(tl.Sdkids, sdkinfo.Id)
- }
- fmt.Println(tl)
- tl.Index=int32(0)
- tls = append(tls, tl)
- }
+ for _, taskSdk := range util.TaskSdks {
+ var tl protomsg.TaskLabel
+ tl.Taskid = taskSdk.Task.Taskid
+ for _, sdkinfo := range taskSdk.Sdks {
+ tl.Sdkids = append(tl.Sdkids, sdkinfo.Id)
+ }
+ tl.Index = int32(0)
+ tls = append(tls, tl)
+ }
GenTasklab(tls)
@@ -39,7 +36,7 @@
//浠� taskid 浣滀负key, 瀵瑰簲鐨勭畻娉曠粍鍚堜綔涓� value
func GenTasklab(tasklab []protomsg.TaskLabel) {
for _, value := range tasklab {
- pv := value
- TaskMapLab[value.Taskid] = &pv
+ pv := value
+ TaskMapLab[value.Taskid] = &pv
}
}
diff --git a/test b/test
index 29dd7aa..b2526ee 100755
--- a/test
+++ b/test
Binary files differ
diff --git a/util/sqlite.go b/util/sqlite.go
new file mode 100644
index 0000000..bfb3aff
--- /dev/null
+++ b/util/sqlite.go
@@ -0,0 +1,79 @@
+package util
+
+import (
+ "fmt"
+
+ "basic.com/pubsub/protomsg.git"
+ "basic.com/r/dbapi.git"
+ "basic.com/valib/gopherdiscovery.git"
+ "github.com/gogo/protobuf/proto"
+)
+
+/*************************
+* 1. store all struct data
+* 2. define function for get difference data type
+* 3. recive data from sqlite process. and call conpos function.
+***********************/
+
+var camval dbapi.CameraApi
+var taskapi dbapi.TaskApi
+var sdkapi dbapi.SdkApi
+var IsInit bool
+
+var CameraIds []protomsg.Camera
+var CameraTasks []protomsg.CameraAndTaskInfo
+
+var TaskSdks []protomsg.TaskSdkInfo
+var Sdklist []string
+
+var urlServer = "tcp://192.168.1.11:40007"
+var urlPubSub = "tcp://192.168.1.11:50007"
+var peers chan []string
+
+var newsdkmsg = &protomsg.DbChangeMessage{}
+
+func Getdata(opt []byte, initchan chan bool) {
+
+ if err := proto.Unmarshal(opt, newsdkmsg); err != nil {
+ fmt.Println("publichshMessage ", err)
+ return
+ }
+
+ if !IsInit {
+ fmt.Println("enter init.")
+ CameraIds = camval.FindAll()
+
+ fmt.Println("==============camera camera with task ================")
+ CameraTasks = camval.FindAllCameraAndTask()
+ fmt.Println(CameraTasks)
+
+ TaskSdks = taskapi.FindAll()
+
+ Sdklist = sdkapi.GetAllSdkIds()
+ fmt.Println(Sdklist)
+ IsInit = true
+ initchan <- true
+ return
+ }
+
+ switch newsdkmsg.Table {
+ case protomsg.TableChanged_T_Camera:
+ CameraIds = camval.FindAll()
+ case protomsg.TableChanged_T_CameraTask:
+ CameraTasks = camval.FindAllCameraAndTask()
+ case protomsg.TableChanged_T_TaskSdk:
+ TaskSdks = taskapi.FindAll()
+ case protomsg.TableChanged_T_Sdk:
+ Sdklist = sdkapi.GetAllSdkIds()
+ }
+
+ fmt.Println(newsdkmsg)
+}
+
+func Init(initchan chan bool) {
+ clientOne, _ := gopherdiscovery.ClientWithSub(urlServer, urlPubSub, "ip:192.168.1.124")
+ peers, _ = clientOne.Peers()
+ for x := range peers {
+ Getdata([]byte(x[0]), initchan)
+ }
+}
--
Gitblit v1.8.0