重构白银节点分配方式,使用手动接口精确配置节点
This commit is contained in:
36
web/web.go
36
web/web.go
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user