From de9a85cfa0e30fdb5ed84bae6e540397d99f5585 Mon Sep 17 00:00:00 2001 From: lucas Date: Thu, 7 Nov 2024 15:09:48 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BD=BF=E7=94=A8=E5=BC=82=E6=AD=A5sy?= =?UTF-8?q?nc.map?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- adaptors/安心云最新设备数据toES.go | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/adaptors/安心云最新设备数据toES.go b/adaptors/安心云最新设备数据toES.go index 4993bc6..70d5e66 100644 --- a/adaptors/安心云最新设备数据toES.go +++ b/adaptors/安心云最新设备数据toES.go @@ -7,6 +7,7 @@ import ( "goInOut/dbHelper" "goInOut/models" "log" + "sync" "time" ) @@ -58,19 +59,23 @@ func (the Adaptor_AXY_LastRAW) raw2es(iotaData models.IotaData) *models.EsRaw { } var deviceInfoMap = map[string]models.DeviceInfo{} +var deviceInfoMap2 = sync.Map{} func (the Adaptor_AXY_LastRAW) GetDeviceInfo(deviceId string) models.DeviceInfo { - if v, ok := deviceInfoMap[deviceId]; ok { - durationMin := time.Now().Sub(v.RefreshTime).Minutes() - if durationMin < 5 { - return v + if vObj, ok := deviceInfoMap2.Load(deviceId); ok { + if v, ok := vObj.(models.DeviceInfo); ok { + durationMin := time.Now().Sub(v.RefreshTime).Minutes() + if durationMin < 5 { + return v + } } } v, err := the.GetDeviceInfoFromRedis(deviceId) if err != nil { log.Printf("设备%s 无法查询到对应信息", deviceId) } - deviceInfoMap[deviceId] = v + //deviceInfoMap[deviceId] = v + deviceInfoMap2.Store(deviceId, v) return v }