|
@@ -133,9 +133,10 @@ func tick() {
|
|
|
urlExamTick,
|
|
|
map[string]string{"Authorization": "U9yKpD6kZZDDe4LFKK6myAxBUT1XRrDM"},
|
|
|
map[string]string{
|
|
|
- "teamName": teamName,
|
|
|
- "positionX": util.ToString(cachePositionX),
|
|
|
- "positionY": util.ToString(cachePositionY),
|
|
|
+ "teamName": teamName,
|
|
|
+ "positionX": util.ToString(cachePositionX),
|
|
|
+ "positionY": util.ToString(cachePositionY),
|
|
|
+ "equipmentNo": config.LocalConfig.EquipmentNo,
|
|
|
},
|
|
|
)
|
|
|
c_log.GlobalLogger.Infof("队伍 %v 的心跳发送到云端成功。", teamName)
|
|
@@ -144,55 +145,55 @@ func tick() {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-func examBeginBak() {
|
|
|
- _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
|
|
|
- Node: commonConfig.RosNode,
|
|
|
- Topic: topic,
|
|
|
- Callback: func(data *std_msgs.String) {
|
|
|
- teamName := data.Data
|
|
|
- cacheMutex.Lock()
|
|
|
- {
|
|
|
- if !util.ContainsKey(cacheTeamName, teamName) {
|
|
|
- examBeginTime := time.Now()
|
|
|
- cacheTeamName[teamName] = examBeginTime
|
|
|
- _, _ = util.HttpPostJsonWithHeaders(
|
|
|
- urlExamBegin,
|
|
|
- map[string]string{"Authorization": "U9yKpD6kZZDDe4LFKK6myAxBUT1XRrDM"},
|
|
|
- map[string]string{"teamName": teamName},
|
|
|
- )
|
|
|
- c_log.GlobalLogger.Infof("队伍 %v 的考试开始。", teamName)
|
|
|
- } else {
|
|
|
- cacheTeamName[teamName] = time.Now()
|
|
|
- }
|
|
|
- }
|
|
|
- cacheMutex.Unlock()
|
|
|
- },
|
|
|
- })
|
|
|
-}
|
|
|
-
|
|
|
-func examEndBak() {
|
|
|
- for {
|
|
|
- time.Sleep(time.Duration(1) * time.Second)
|
|
|
- cacheMutex.Lock()
|
|
|
- {
|
|
|
- var keysToDelete []string
|
|
|
- for teamName, heartBeatTime := range cacheTeamName {
|
|
|
- if time.Since(heartBeatTime) > heartBeatTimeThreshold {
|
|
|
- keysToDelete = append(keysToDelete, teamName)
|
|
|
- }
|
|
|
- }
|
|
|
- for _, teamName := range keysToDelete {
|
|
|
- delete(cacheTeamName, teamName)
|
|
|
- _, _ = util.HttpPostJsonWithHeaders(
|
|
|
- urlExamEnd,
|
|
|
- map[string]string{"Authorization": "U9yKpD6kZZDDe4LFKK6myAxBUT1XRrDM"},
|
|
|
- map[string]string{"teamName": teamName},
|
|
|
- )
|
|
|
- c_log.GlobalLogger.Infof("队伍 %v 的考试结束。", teamName)
|
|
|
- }
|
|
|
- }
|
|
|
- cacheMutex.Unlock()
|
|
|
- }
|
|
|
-}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|