使用plan service 替换子领域

This commit is contained in:
2025-11-02 19:46:20 +08:00
parent 8d7d9fc485
commit bb42147974
4 changed files with 12 additions and 27 deletions

View File

@@ -84,7 +84,7 @@ func (app *Application) Start() error {
}
// 3. 启动后台工作协程
app.Domain.PlanExecutionManager.Start()
app.Domain.planService.Start()
// 4. 启动 API 服务器
app.API.Start()
@@ -106,7 +106,7 @@ func (app *Application) Stop() error {
app.API.Stop()
// 关闭任务执行器
app.Domain.PlanExecutionManager.Stop()
app.Domain.planService.Stop()
// 断开数据库连接
if err := app.Infra.Storage.Disconnect(); err != nil {

View File

@@ -127,6 +127,7 @@ type DomainServices struct {
taskFactory plan.TaskFactory
PlanExecutionManager plan.ExecutionManager
AnalysisPlanTaskManager plan.AnalysisPlanTaskManager
planService plan.Service
}
// initDomainServices 初始化所有的领域服务。
@@ -147,12 +148,12 @@ func initDomainServices(cfg *config.Config, infra *Infrastructure, logger *logs.
infra.Lora.Comm,
)
// 计划任务管理器
analysisPlanTaskManager := plan.NewAnalysisPlanTaskManager(infra.Repos.PlanRepo, infra.Repos.PendingTaskRepo, infra.Repos.ExecutionLogRepo, logger)
// 任务工厂
taskFactory := task.NewTaskFactory(logger, infra.Repos.SensorDataRepo, infra.Repos.DeviceRepo, generalDeviceService)
// 计划任务管理器
analysisPlanTaskManager := plan.NewAnalysisPlanTaskManager(infra.Repos.PlanRepo, infra.Repos.PendingTaskRepo, infra.Repos.ExecutionLogRepo, logger)
// 任务执行器
planExecutionManager := plan.NewPlanExecutionManager(
infra.Repos.PendingTaskRepo,
@@ -168,6 +169,9 @@ func initDomainServices(cfg *config.Config, infra *Infrastructure, logger *logs.
cfg.Task.NumWorkers,
)
// 计划管理器
planService := plan.NewPlanService(planExecutionManager, analysisPlanTaskManager, logger)
return &DomainServices{
PigPenTransferManager: pigPenTransferManager,
PigTradeManager: pigTradeManager,
@@ -177,6 +181,7 @@ func initDomainServices(cfg *config.Config, infra *Infrastructure, logger *logs.
AnalysisPlanTaskManager: analysisPlanTaskManager,
taskFactory: taskFactory,
PlanExecutionManager: planExecutionManager,
planService: planService,
}
}

View File

@@ -141,7 +141,7 @@ func (app *Application) initializePendingTasks() error {
planRepo := app.Infra.Repos.PlanRepo
pendingTaskRepo := app.Infra.Repos.PendingTaskRepo
executionLogRepo := app.Infra.Repos.ExecutionLogRepo
analysisPlanTaskManager := app.Domain.AnalysisPlanTaskManager
planService := app.Domain.planService
logger.Info("开始初始化待执行任务列表...")
@@ -235,7 +235,7 @@ func (app *Application) initializePendingTasks() error {
// 阶段三:初始刷新
logger.Info("阶段三:开始刷新待执行列表...")
if err := analysisPlanTaskManager.Refresh(); err != nil {
if err := planService.RefreshPlanTriggers(); err != nil {
return fmt.Errorf("刷新待执行任务列表失败: %w", err)
}
logger.Info("阶段三:待执行任务列表初始化完成。")