ソースを参照

Merge branch 'auto_reconnect' of http://code.dashoo.cn/dashoo/genepoint_service into auto_reconnect

sunmiao 5 年 前
コミット
9bb580e8c9

+ 6 - 3
src/dashoo.cn/genepoint_srv/controllers/converse/converse.go

@@ -25,13 +25,16 @@ func (this *ConverseController) SearchDatabase() map[string]*RequestEntity {
 
 	//依次处理每一条新任务信息
 	for _, value := range tasks {
+		var  time int64 = time.Now().Unix()
+
+		 taskid :=value.Task_id + strconv.FormatInt(time,10)
 		//如果没有任务实体, 则创建新任务实体
-		if _, ok := reqMap[value.Task_id]; !ok {
+		if _, ok := reqMap[taskid]; !ok {
 			entity := svc.GenerateRequestEntity(value.Task_type, value.Task_id)
-			reqMap[value.Task_id] = entity
+			reqMap[taskid] = entity
 		}
 		//处理任务详细
-		svc.HandleTaskDetail(value.Task_type, reqMap[value.Task_id], &value)
+		svc.HandleTaskDetail(value.Task_type, reqMap[taskid], &value)
 	}
 	for _, v := range reqMap {
 		log.Println("****************************")

+ 4 - 4
src/dashoo.cn/genepoint_srv/main.go

@@ -154,7 +154,7 @@ func ListenToSendMsg(conn *websocket.Conn) {
 	cron := cron.New()
 	// 定时规则:每隔10秒执行一次
 	tick := "*/10 * * * * ?"
-	err = cron.AddFunc(tick, func() {
+	_,err = cron.AddFunc(tick, func() {
 		// 查询任务,生成指令
 		reqMap := ctrl.SearchDatabase()
 		if err != nil {
@@ -163,13 +163,13 @@ func ListenToSendMsg(conn *websocket.Conn) {
 		//判断conn是否还在  todo
 
 		// 发送消息
-		for taskId, reqEntity := range reqMap {
+		for _, reqEntity := range reqMap {
 			err := conn.WriteJSON(reqEntity)
 			if err != nil {
 				log.Println("write err:", err)
 			} else {
 				// 发送成功,修改状态
-				err = ctrl.StatusModify(converseService.SENT, taskId)
+				err = ctrl.StatusModify(converseService.SENT, reqEntity.Data.Task_id)
 			}
 		}
 	})
@@ -182,7 +182,7 @@ func ClearSuccessfulTask() {
 	cron := cron.New()
 	//每天0时清除任务表
 	tick := "0 0 0 * * ?"
-	err = cron.AddFunc(tick, func() {
+	_,err = cron.AddFunc(tick, func() {
 		ctrl.DeleteAccomplishedTask()
 		if err != nil {
 			log.Println("read:", err)