模块化定时任务,方便在插件中注册任务;增加日志分组

This commit is contained in:
孟帅
2023-06-05 20:14:57 +08:00
parent 62ecbb7f26
commit 48f8c20d9c
79 changed files with 820 additions and 783 deletions

View File

@@ -7,9 +7,9 @@ package cmd
import (
"context"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gcmd"
"hotgo/internal/crons"
"hotgo/internal/global"
"hotgo/internal/library/cron"
"hotgo/internal/service"
)
@@ -19,6 +19,9 @@ var (
Brief: "定时任务用来部署一些可独立运行的定时任务通过tcp方式和后台保持长连接通讯动态调整任务属性。",
Description: ``,
Func: func(ctx context.Context, parser *gcmd.Parser) (err error) {
// 服务日志处理
cron.Logger().SetHandlers(global.LoggingServeLogHandler)
// 启动定时任务
service.SysCron().StartCron(ctx)
@@ -32,8 +35,8 @@ var (
<-serverCloseSignal
service.CronClient().Stop(ctx)
crons.StopALL()
g.Log().Debug(ctx, "cron successfully closed ..")
cron.StopALL()
cron.Logger().Debug(ctx, "cron successfully closed ..")
serverWg.Done()
return
},

View File

@@ -10,8 +10,11 @@ import (
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp"
"github.com/gogf/gf/v2/os/gcmd"
"hotgo/internal/consts"
"hotgo/internal/library/addons"
"hotgo/internal/library/casbin"
"hotgo/internal/library/hggen"
"hotgo/internal/library/payment"
"hotgo/internal/router"
"hotgo/internal/service"
"hotgo/internal/websocket"
@@ -23,9 +26,7 @@ var (
Usage: "http",
Brief: "HTTP服务也可以称为主服务包含http、websocket、tcpserver多个可对外服务",
Func: func(ctx context.Context, parser *gcmd.Parser) (err error) {
// 加载权限
casbin.InitEnforcer(ctx)
// 初始化http服务
s := g.Server()
// 错误状态码接管
@@ -47,7 +48,7 @@ var (
// 注册全局中间件
group.Middleware(
service.Middleware().Ctx, //必须第一个加载
service.Middleware().Ctx, // 必须第一个加载
service.Middleware().CORS,
service.Middleware().Blacklist,
service.Middleware().DemoLimit,
@@ -70,11 +71,25 @@ var (
addons.RegisterModulesRouter(ctx, group)
})
// 初始化casbin权限
casbin.InitEnforcer(ctx)
// 初始化生成代码配置
hggen.InIt(ctx)
// 启动tcp服务
service.TCPServer().Start(ctx)
// https
setSSL(ctx, s)
// 启动服务监控
service.AdminMonitor().StartMonitor(ctx)
// 加载ip访问黑名单
service.SysBlacklist().Load(ctx)
// 注册支付成功回调方法
payment.RegisterNotifyCallMap(map[string]payment.NotifyCallFunc{
consts.OrderGroupAdminOrder: service.AdminOrder().PayNotify, // 后台充值订单
})
serverWg.Add(1)
@@ -96,13 +111,3 @@ var (
},
}
)
func setSSL(ctx context.Context, s *ghttp.Server) {
config, err := service.SysConfig().GetLoadSSL(ctx)
if err != nil {
g.Log().Fatal(ctx, "ssl配置获取失败err:%+v", err)
}
if config != nil && config.Switch {
s.EnableHTTPS(config.CrtPath, config.KeyPath)
}
}

View File

@@ -7,8 +7,8 @@ package cmd
import (
"context"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gcmd"
"hotgo/internal/global"
"hotgo/internal/library/queue"
"hotgo/utility/simple"
)
@@ -19,10 +19,13 @@ var (
Brief: "消息队列",
Description: ``,
Func: func(ctx context.Context, parser *gcmd.Parser) (err error) {
// 服务日志处理
queue.Logger().SetHandlers(global.LoggingServeLogHandler)
simple.SafeGo(ctx, func(ctx context.Context) {
g.Log().Debug(ctx, "start queue consumer..")
queue.Logger().Debug(ctx, "start queue consumer..")
queue.StartConsumersListener(ctx)
g.Log().Debug(ctx, "start queue consumer success..")
queue.Logger().Debug(ctx, "start queue consumer success..")
})
serverWg.Add(1)
@@ -31,7 +34,7 @@ var (
signalListen(ctx, signalHandlerForOverall)
<-serverCloseSignal
g.Log().Debug(ctx, "queue successfully closed ..")
queue.Logger().Debug(ctx, "queue successfully closed ..")
serverWg.Done()
return
},