chenshijun
2019-07-27 b5560d3cae1164f016ca9339592eda6b9008fb9f
util/sqlite.go
@@ -1,12 +1,12 @@
package util
import (
   "fmt"
   "basic.com/dbapi.git"
   "basic.com/pubsub/protomsg.git"
   "basic.com/r/dbapi.git"
   "basic.com/valib/gopherdiscovery.git"
   "flag"
   "github.com/gogo/protobuf/proto"
   "taskpubsub/logger"
)
/*************************
@@ -23,57 +23,84 @@
var CameraIds []protomsg.Camera
var CameraTasks []protomsg.CameraAndTaskInfo
var TaskSdks []protomsg.TaskSdkInfo
var Sdklist []string
//var TaskSdks []protomsg.TaskSdkInfo
var TaskSdks []protomsg.TaskSdkRun
var urlServer = "tcp://192.168.1.11:40007"
var urlPubSub = "tcp://192.168.1.11:50007"
var peers chan []string
var Sdklist []string
var Sdkinfos []protomsg.Sdk
var urlServer = flag.String("urlServer", "tcp://127.0.0.1:40007", "heartbeat address of url server")
var urlPubSub = flag.String("urlPubsub", "tcp://127.0.0.1:50007", "heartbeat pubsub address of url server")
var dbip = flag.String("dbip", "127.0.0.1", "address of database ip")
var dbport = flag.Int("dbport", 8001, "port of database port")
var Sdkflag = make(chan bool)
var TaskSdkflag = make(chan bool)
var Cameraflag = make(chan bool)
var newsdkmsg = &protomsg.DbChangeMessage{}
func Getdata(opt []byte, initchan chan bool) {
func initDbData(initchan chan bool) {
   CameraIds = camval.FindAll()
   logger.Info("==============camera camera with task ================")
   CameraTasks = camval.FindAllCameraAndTask()
   logger.Info(CameraTasks)
   TaskSdks = taskapi.FindAllTaskSdkRun()
   Sdklist = sdkapi.GetAllSdkIds()
   Sdkinfos = sdkapi.FindAll("")
   initchan <- true
}
func updateDbData(opt []byte) {
   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
      logger.Error("publichshMessage ", err)
      return
   }
   switch newsdkmsg.Table {
   case protomsg.TableChanged_T_Camera:
      logger.Info("update camera")
      CameraIds = camval.FindAll()
      Cameraflag <- true
      logger.Info("update camera finish.")
   case protomsg.TableChanged_T_CameraTask:
      logger.Info("update cameratask")
      CameraTasks = camval.FindAllCameraAndTask()
      logger.Info("update cameratask finished!")
   case protomsg.TableChanged_T_TaskSdk:
      TaskSdks = taskapi.FindAll()
      logger.Info("update tasksdk")
      TaskSdks = taskapi.FindAllTaskSdkRun()
      TaskSdkflag <- true
   case protomsg.TableChanged_T_Sdk:
      logger.Info("update sdk")
      Sdklist = sdkapi.GetAllSdkIds()
      Sdkinfos = sdkapi.FindAll("")
      Sdkflag <- true
   default:
      logger.Info("unknow type operation")
   }
   fmt.Println(newsdkmsg)
   logger.Info(newsdkmsg)
}
func Init(initchan chan bool) {
   clientOne, _ := gopherdiscovery.ClientWithSub(urlServer, urlPubSub, "ip:192.168.1.124")
   peers, _ = clientOne.Peers()
   dbapi.Init(*dbip, *dbport)
   client, _ := gopherdiscovery.ClientWithSub(*urlServer, *urlPubSub, "ip:local")
   recvinit := client.HeartBeatMsg()
   _ = <-recvinit
   initDbData(initchan)
   peers, _ := client.Peers()
   for x := range peers {
      Getdata([]byte(x[0]), initchan)
      updateDbData(x)
   }
}