Преглед на файлове

加入定时任务控制

刘鹏飞 преди 4 години
родител
ревизия
6062e730d6
променени са 1 файла, в които са добавени 15 реда и са изтрити 11 реда
  1. 15 11
      src/dashoo.cn/genepoint_srv/main.go

+ 15 - 11
src/dashoo.cn/genepoint_srv/main.go

@@ -27,12 +27,14 @@ import (
 
 // 基点接口服务器地址
 var gpServiceUrl string
+var temp bool
 
 var err error
 var ctrl converse.ConverseController
 var disconnect = make(chan bool)
 
 func main() {
+	temp = false
 	utils.LoadConfig("conf/app.conf")
 
 	// 初始化基点接口服务器
@@ -80,7 +82,7 @@ func main() {
 			//			}
 		case <-interrupt:
 			log.Println("interrupt")
-
+			temp = false
 			// Cleanly close the connection by sending a close message and then
 			// waiting (with timeout) for the server to close the connection.
 			err := conn.WriteMessage(websocket.CloseMessage, websocket.FormatCloseMessage(websocket.CloseNormalClosure, ""))
@@ -91,11 +93,11 @@ func main() {
 			select {
 			case <-done:
 			case <-time.After(time.Second * 10):
-
 			}
 			//return
-		case <-disconnect:
+		case temp = <-disconnect:
 			log.Println("服务器连接已断开!")
+
 			for {
 				select {
 				case <-time.After(time.Second * 10):
@@ -155,6 +157,10 @@ func ListenToSendMsg(conn *websocket.Conn) {
 	// 定时规则:每隔10秒执行一次
 	tick := "*/10 * * * * ?"
 	err = cron.AddFunc(tick, func() {
+		//判断conn是否还在  todo
+		if temp {
+			cron.Stop()
+		}
 		//
 		svc := converseService.GetConverseService(utils.DBE)
 
@@ -163,27 +169,25 @@ func ListenToSendMsg(conn *websocket.Conn) {
 		if err != nil {
 			log.Println("read err:", err)
 			// 任务发送失败,,,修改任务状态,,,,提示任务执行失败
-			for taskid, _ := range reqMap{
+			for taskid, _ := range reqMap {
 				err = ctrl.StatusModify(converseService.FAILED, taskid)
-				svc.SaveErrInfo(err.Error(),taskid)
+				svc.SaveErrInfo(err.Error(), taskid)
 			}
 
-
 		}
-		//判断conn是否还在  todo
 
 		// 发送消息
 		for taskid, reqEntity := range reqMap {
-			log.Println("-reqMap-taskid:",taskid)
+			log.Println("-reqMap-taskid:", taskid)
 			err1 := conn.WriteJSON(reqEntity)
 			log.Println("write err----:", err1)
-			if err1 != nil   {
+			if err1 != nil {
 				log.Println("请求发送失败")
 				// 任务发送失败,,,修改任务状态,,,,提示任务执行失败
 				err1 = ctrl.StatusModify(converseService.FAILED, taskid)
 				// 跟新异常信息
-				totalMsg:="请求发送失败"
-				svc.SaveErrInfo(totalMsg ,taskid)
+				totalMsg := "请求发送失败"
+				svc.SaveErrInfo(totalMsg, taskid)
 
 			} else {
 				// 发送成功,修改状态