feat(cmd): assemble control plane via Wavelet plugins plus server

This commit is contained in:
ryan
2026-08-30 12:13:43 +08:00
parent e847a7adb3
commit e48485f27d
38 changed files with 1080 additions and 343 deletions
+2 -32
View File
@@ -1,4 +1,3 @@
// Copyright 2025 linux.do
// Copyright 2026 Arctel.net
// SPDX-License-Identifier: Apache-2.0
@@ -6,12 +5,7 @@
package cmd
import (
"log"
"sync"
"Wavelet/OpenFlare/plugins/server/infra/task/scheduler"
"Wavelet/OpenFlare/plugins/server/infra/task/worker"
"Wavelet/OpenFlare/plugins/server/platform/bootstrap"
"Wavelet/core"
"github.com/spf13/cobra"
)
@@ -20,30 +14,6 @@ var allCmd = &cobra.Command{
Use: "all",
Short: "以融合模式同时启动 API、Worker 和 Scheduler",
Run: func(_ *cobra.Command, _ []string) {
log.Println("[All] 融合模式启动")
bootstrap.RegisterAll()
runBootstrap(bootstrap.Options{API: true})
var wg sync.WaitGroup
// 启动 Asynq Worker 任务处理服务
wg.Go(func() {
log.Println("[All] 启动 Worker 服务")
if err := worker.StartWorker(); err != nil {
log.Printf("[All] Worker 启动失败: %v\n", err)
}
})
// 启动 Asynq 定时任务调度器
wg.Go(func() {
log.Println("[All] 启动 Scheduler 服务")
if err := scheduler.StartScheduler(); err != nil {
log.Printf("[All] Scheduler 启动失败: %v\n", err)
}
})
// API 服务持有前台阻塞与退出信号处理(runHTTPApp 返回后即已优雅退出)
runHTTPApp("API + Worker + Scheduler")
wg.Wait()
runProfileApp(core.ProfileAll, "all (API + Worker + Scheduler)", true)
},
}