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