Files
kami_gateway/main.go
danial fe8b732da4 fix(pool): 优化重试次数及订单绑定逻辑
- 将最大重试次数从3次调整为5次,提高任务处理容错能力
- 限制核弹卡发送任务循环次数从5次减少到3次,避免过度重试
- 增加用户订单重试次数计数,超过最大重试立即返回失败
- 修正redis订单数据结构变量名,确保数据一致性
- 优化绑定订单ID和卡信息ID失败后的重试和日志处理
- 支持wtr支付接口动态设置请求URL,增加灵活性
- 移除main.go中http性能分析监听,减少无用服务运行
- 修改wtr支付测试用例渠道号及接口地址,便于测试调试
- 统一日志打印规范,提升调试体验
2025-12-16 01:26:53 +08:00

69 lines
1.6 KiB
Go

package main
import (
"context"
"gateway/internal/cache"
"gateway/internal/config"
_ "gateway/internal/models"
"gateway/internal/otelTrace"
"gateway/internal/proxy"
_ "gateway/internal/routers"
"gateway/internal/schema/query"
"gateway/internal/service"
_ "gateway/internal/service/message"
"gateway/internal/service/notify"
"gateway/internal/service/supplier/third_party"
"gateway/internal/service/supplier/third_party/queue"
"gateway/internal/utils"
"github.com/beego/beego/v2/server/web"
_ "github.com/go-sql-driver/mysql"
"log"
_ "net/http/pprof"
"time"
)
func main() {
config.GetMQAddress()
// 初始化代理池
if err := proxy.InitProxyPool(); err != nil {
log.Printf("初始化代理池失败: %v", err)
return
}
// 初始化 OpenTelemetry
cleanup1, cleanup2, cleanup3 := otelTrace.InitTracer()
defer func() {
// 使用带超时的 context 来关闭导出器
ctx := context.Background()
shutdownCtx, cancel := context.WithTimeout(ctx, 10*time.Second)
defer cancel()
if cleanup1 != nil {
_ = cleanup1(shutdownCtx)
}
if cleanup2 != nil {
_ = cleanup2(shutdownCtx)
}
if cleanup3 != nil {
_ = cleanup3(shutdownCtx)
}
}()
// 使用 context.Background() 作为基础 context
ctx := context.Background()
go notify.CreateOrderNotifyConsumer(ctx)
go query.CreateSupplierOrderQueryCuConsumer(ctx)
// go query.CreatePayForQueryConsumer(ctx)
go service.OrderSettleInit(ctx)
cache.Start()
utils.StartProxyPool()
//tasks.Start(ctx)
// 初始化队列系统
queue.Init(ctx)
third_party.StartOrderPool(ctx)
web.Run()
}