From 0e62d782994af02a42fb1b1d0ec729e387f5a62e Mon Sep 17 00:00:00 2001 From: xiaocai <1643013940@qq.com> Date: Tue, 4 Jun 2024 16:01:43 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E5=88=9D=E5=A7=8B=E5=8C=96):=20=E6=8F=92?= =?UTF-8?q?=E4=BB=B6=E9=87=8D=E5=90=AF=E9=94=81=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 重启驱动所有插件时,添加同步锁 --- driverbox/plugin.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/driverbox/plugin.go b/driverbox/plugin.go index 5516e8f..8d39814 100644 --- a/driverbox/plugin.go +++ b/driverbox/plugin.go @@ -4,10 +4,17 @@ import ( "github.com/ibuilding-x/driver-box/driverbox/helper" "github.com/ibuilding-x/driver-box/internal/bootstrap" "go.uber.org/zap" + "sync" ) +// reloadLock 用于控制 plugin 重载的互斥锁 +var reloadLock sync.Mutex + // ReloadPlugins 重载所有插件 func ReloadPlugins() error { + reloadLock.Lock() + defer reloadLock.Unlock() + // 1. 停止所有 timerTask 任务 helper.Crontab.Stop() // 2. 停止运行中的 plugin