From 662b889310530ec9643fa65d75de337d47a61b6e Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期五, 10 十一月 2023 17:47:05 +0800
Subject: [PATCH] 切换设备时异步重启定时任务
---
api/v1/device.go | 11 ++++-------
crontask/cron_task.go | 8 +++++++-
2 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/api/v1/device.go b/api/v1/device.go
index e2d0385..04ef6f9 100644
--- a/api/v1/device.go
+++ b/api/v1/device.go
@@ -10,6 +10,7 @@
"apsClient/pkg/contextx"
"apsClient/pkg/ecode"
"apsClient/pkg/logx"
+ "apsClient/pkg/safe"
"apsClient/service"
"github.com/gin-gonic/gin"
)
@@ -46,13 +47,9 @@
}
service.SetDeviceIDToFile(params.CurrentDeviceID)
conf.Conf.CurrentDeviceID = params.CurrentDeviceID
- err = crontask.RestartTask(conf.Conf.SerfClusterStatus != constvar.SerfClusterStatusSlave)
- if err != nil {
- logx.Errorf("restart task failed:%v", err)
- ctx.Fail(ecode.UnknownErr)
- return
- }
-
+ safe.Go(func() {
+ _ = crontask.RestartTask(conf.Conf.SerfClusterStatus != constvar.SerfClusterStatusSlave)
+ })
ctx.Ok()
}
diff --git a/crontask/cron_task.go b/crontask/cron_task.go
index 153182a..c38ef9d 100644
--- a/crontask/cron_task.go
+++ b/crontask/cron_task.go
@@ -143,7 +143,13 @@
s.Stop()
s.Clear()
}
- return StartTask(isMaster)
+ err := StartTask(isMaster)
+ if err != nil {
+ logx.Errorf("restart task failed:%v", err)
+ return err
+ }
+ logx.Infof("restart task ok, isMaster:", isMaster)
+ return nil
}
// Once 涓�娆℃�т换鍔�
--
Gitblit v1.8.0