fix: reload cron not schedule #76
This commit is contained in:
@@ -50,6 +50,13 @@ func (m *CronManager) SetLogger(logger SchedulerLogger) {
|
||||
m.logger = logger
|
||||
}
|
||||
|
||||
// SetScheduler 更新关联的调度器实例
|
||||
func (m *CronManager) SetScheduler(scheduler *Scheduler) {
|
||||
m.mu.Lock()
|
||||
defer m.mu.Unlock()
|
||||
m.scheduler = scheduler
|
||||
}
|
||||
|
||||
// Start 启动调度器
|
||||
func (m *CronManager) Start() {
|
||||
m.cron.Start()
|
||||
|
||||
@@ -566,6 +566,11 @@ func (es *ExecutorService) Reload() {
|
||||
|
||||
// 从设置中读取新配置
|
||||
es.initScheduler()
|
||||
|
||||
// 重要:更新计划任务管理器中的调度器引用,确保后续触发的任务进入新队列
|
||||
if es.cronManager != nil {
|
||||
es.cronManager.SetScheduler(es.scheduler)
|
||||
}
|
||||
}
|
||||
|
||||
// ExecuteTask executes a task by ID(同步执行,供 API 调用)
|
||||
|
||||
Reference in New Issue
Block a user