From a2fcc4be5f133d490f20fa4d2401811d8e1307d9 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期四, 21 九月 2023 14:29:38 +0800
Subject: [PATCH] 更改字段类型,避免gorm每次重启程序时重建表
---
crontask/cron_task.go | 26 ++++++++++++++++++--------
1 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/crontask/cron_task.go b/crontask/cron_task.go
index 505156d..9938bb4 100644
--- a/crontask/cron_task.go
+++ b/crontask/cron_task.go
@@ -24,19 +24,24 @@
totalNumberTimeInterval = 60
}
s := gocron.NewScheduler(time.UTC)
- _, err := s.Every(finishNumberTimeInterval).Seconds().StartImmediately().Do(func() {
+ _, err := s.Every(finishNumberTimeInterval).Seconds().Do(func() {
plcConfig, code := service.NewDevicePlcService().GetDevicePlc()
if code != ecode.OK {
return
}
for _, addressItem := range plcConfig.Details {
if addressItem.FieldName == constvar.PlcStartAddressTypeFinishNumber {
- finishNumber, err := service.PlcReadDirect(plcConfig, addressItem.StartAddress, addressItem.Position)
- if err == nil && finishNumber != 0 {
+ value, err := service.PlcReadDirect(plcConfig, addressItem.StartAddress, addressItem.Length, addressItem.Type)
+ if err != nil {
+ logx.Infof("plc read finish number err: %v", err)
+ continue
+ }
+ finishNumber := cast.ToInt64(value)
+ if finishNumber != 0 {
service.PlcCacheSet(addressItem.Position, constvar.PlcCacheKeyFinishNumber, finishNumber)
_ = service.NewProgressService().UpdateProgress(addressItem.Position, cast.ToInt64(finishNumber))
}
- logx.Infof("plc read finish number:%v, err:%v", finishNumber, err)
+ logx.Infof("plc read finish number: %v", finishNumber)
}
}
@@ -52,18 +57,23 @@
}
for _, addressItem := range plcConfig.Details {
if addressItem.FieldName == constvar.PlcStartAddressTypeTotalNumber {
- totalNumber, err := service.PlcReadDirect(plcConfig, addressItem.StartAddress, addressItem.Position)
- if err == nil && totalNumber != 0 {
+ value, err := service.PlcReadDirect(plcConfig, addressItem.StartAddress, addressItem.Length, addressItem.Type)
+ if err != nil {
+ logx.Infof("plc read total number err: %v", err)
+ continue
+ }
+ totalNumber := cast.ToInt64(value)
+ if totalNumber != 0 {
service.PlcCacheSet(addressItem.Position, constvar.PlcCacheKeyTotalNumber, totalNumber)
_ = service.NewProgressService().UpdateProgress(addressItem.Position, cast.ToInt64(totalNumber))
}
- logx.Infof("plc read total number:%v, err:%v", totalNumber, err)
+ logx.Infof("plc read total number: %v", totalNumber)
}
}
})
- s.Every(60).Seconds().StartImmediately().Do(SyncProductionProgress) //鍚屾鐢熶骇鏁版嵁
+ s.Every(180).Seconds().Do(SyncProductionProgress) //鍚屾鐢熶骇鏁版嵁
s.StartAsync()
return nil
}
--
Gitblit v1.8.0