From 30f35de47284269b475c3aa307d06c033b67aa27 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期六, 21 十月 2023 16:46:10 +0800
Subject: [PATCH] 精简topic
---
service/cache_store.go | 30 +++++++++++++++++++-----------
1 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/service/cache_store.go b/service/cache_store.go
index 325db21..743e4a7 100644
--- a/service/cache_store.go
+++ b/service/cache_store.go
@@ -1,10 +1,11 @@
package service
import (
+ "apsClient/conf"
"apsClient/constvar"
"apsClient/model"
- "apsClient/model/response"
"fmt"
+ "github.com/jinzhu/gorm"
"github.com/spf13/cast"
"sync"
"time"
@@ -47,8 +48,8 @@
}
const (
- PlcCacheKey = "plc:%v:%v" //plc:channel:key
- CurrentTaskCacheKey = "current_task"
+ PlcCacheKey = "plc:%v:%v" //plc:channel:key
+ CurrentTaskCacheKey = "current_task:%v" //current_task:channel
CurrentProgressCacheKey = "current_progress:%v" //current_progress:channel
PlcCacheKeyUpdateTime = "finish_number_update_time:%v" //finish_number_update_time:channel
)
@@ -79,19 +80,26 @@
defaultCacheStore.Add(fmt.Sprintf(PlcCacheKeyUpdateTime, channel), value)
}
-func TaskCacheSet(value *response.TaskData) {
- defaultCacheStore.Add(CurrentTaskCacheKey, value)
+func TaskFlagSet(channel int32) {
+ defaultCacheStore.Add(fmt.Sprintf(CurrentTaskCacheKey, channel), true)
}
-func TaskCacheUnset() {
- defaultCacheStore.Remove(CurrentTaskCacheKey)
+func TaskFlagUnset(channel int32) {
+ defaultCacheStore.Add(fmt.Sprintf(CurrentTaskCacheKey, channel), false)
}
-func TaskCacheGet() (*response.TaskData, bool) {
- if v, ok := defaultCacheStore.Get(CurrentTaskCacheKey); ok {
- return v.(*response.TaskData), ok
+func TaskFlagGet(channel int32) bool {
+ if v, ok := defaultCacheStore.Get(fmt.Sprintf(CurrentTaskCacheKey, channel)); ok {
+ return v.(bool)
}
- return nil, false
+ _, err := model.NewProceduresSearch(nil).SetDeviceId(conf.Conf.System.DeviceId).SetStatus(model.ProcedureStatusProcessing).SetChannels([]int32{channel}).First()
+ if err == gorm.ErrRecordNotFound {
+ defaultCacheStore.Add(fmt.Sprintf(CurrentTaskCacheKey, channel), false)
+ return false
+ } else {
+ defaultCacheStore.Add(fmt.Sprintf(CurrentTaskCacheKey, channel), true)
+ return true
+ }
}
func ProgressCacheGet(channel int32) (*model.ProductionProgress, bool) {
--
Gitblit v1.8.0