重构白银节点分配方式,使用手动接口精确配置节点

This commit is contained in:
2025-12-08 14:22:30 +08:00
parent 9e237be21e
commit 983dbb4564
25 changed files with 651 additions and 630 deletions

View File

@@ -6,7 +6,7 @@ import (
"log/slog"
_ "net/http/pprof"
"platform/web/events"
base "platform/web/globals"
deps "platform/web/globals"
"platform/web/tasks"
"time"
@@ -19,12 +19,12 @@ func RunApp(pCtx context.Context) error {
g, ctx := errgroup.WithContext(pCtx)
// 初始化依赖
err := base.Init(ctx)
err := deps.Init(ctx)
if err != nil {
return fmt.Errorf("初始化依赖失败: %w", err)
}
defer func() {
err := base.Close()
err := deps.Close()
if err != nil {
slog.Error("关闭依赖失败", "error", err)
}
@@ -39,10 +39,6 @@ func RunApp(pCtx context.Context) error {
return RunTask(ctx)
})
g.Go(func() error {
return RunSchedule(ctx)
})
return g.Wait()
}
@@ -76,30 +72,9 @@ func RunWeb(ctx context.Context) error {
return nil
}
func RunSchedule(ctx context.Context) error {
var scheduler = asynq.NewSchedulerFromRedisClient(base.Redis, &asynq.SchedulerOpts{
Location: time.Local,
})
scheduler.Register("@every 5s", events.NewFlushGateway(5*time.Second))
// 停止服务
go func() {
<-ctx.Done()
scheduler.Shutdown()
}()
// 启动服务
err := scheduler.Run()
if err != nil {
return fmt.Errorf("调度服务运行失败: %w", err)
}
return nil
}
func RunTask(ctx context.Context) error {
var server = asynq.NewServerFromRedisClient(base.Redis, asynq.Config{
var server = asynq.NewServerFromRedisClient(deps.Redis, asynq.Config{
ShutdownTimeout: 5 * time.Second,
ErrorHandler: asynq.ErrorHandlerFunc(func(ctx context.Context, task *asynq.Task, err error) {
slog.Error("任务执行失败", "task", task.Type(), "error", err)
}),
@@ -108,7 +83,6 @@ func RunTask(ctx context.Context) error {
var mux = asynq.NewServeMux()
mux.HandleFunc(events.RemoveChannel, tasks.HandleRemoveChannel)
mux.HandleFunc(events.CompleteTrade, tasks.HandleCompleteTrade)
mux.HandleFunc(events.FlushGateway, tasks.HandleFlushGateway)
// 停止服务
go func() {