From fecd8ff508b33715cbe24ca892fc19a2d1ad1ef5 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期一, 06 十一月 2023 16:34:05 +0800 Subject: [PATCH] 加锁解决同时读串口时报的资源不可用和超时报错 --- api/v1/task.go | 13 +++++++++---- 1 files changed, 9 insertions(+), 4 deletions(-) diff --git a/api/v1/task.go b/api/v1/task.go index 26cfb2d..553b76d 100644 --- a/api/v1/task.go +++ b/api/v1/task.go @@ -10,7 +10,6 @@ "apsClient/pkg/ecode" "apsClient/pkg/logx" "apsClient/service" - "apsClient/service/plc_address" "errors" "github.com/gin-gonic/gin" "github.com/jinzhu/gorm" @@ -235,7 +234,7 @@ } service.TaskFlagUnset(procedure.Channel) - + service.TaskEndTimeSet(procedure.Channel, time.Now().Unix()) //璁剧疆宸ュ簭杩愯缁撴潫鏃堕棿 ctx.Ok() } @@ -322,7 +321,9 @@ return } - service.TaskFlagSet(procedure.Channel) + service.TaskFlagSet(procedure.Channel, int(procedure.ID)) + service.TaskStartTimeSet(procedure.Channel, time.Now().Unix()) //璁剧疆宸ュ簭杩愯寮�濮嬫椂闂� + service.TaskEndTimeSet(procedure.Channel, 0) //璁剧疆宸ュ簭杩愯缁撴潫鏃堕棿 ctx.Ok() } @@ -390,8 +391,12 @@ logx.Info("----------------寮�濮嬩笅鍙戝伐鑹哄弬鏁�-----------------") } var failedNumbers int + processModelAddress, err := service.GetProcessModelAddress(conf.Conf.CurrentDeviceID) + if err != nil { + return err + } for k, v := range paramsMap { - address, ok := plc_address.Get(k) + address, ok := processModelAddress[k] if !ok { logx.Errorf("miss param address, k:%v, v:%v", k, v) continue -- Gitblit v1.8.0