mirror of
https://gitee.com/shikong-sk/gofiber-study
synced 2025-02-23 15:22:14 +08:00
多进程初始化完善
This commit is contained in:
parent
f14977dafa
commit
856847a9fe
19
app.go
19
app.go
@ -19,7 +19,10 @@ func loadApp() {
|
||||
if err != nil {
|
||||
logger.Log.Fatalf("配置文件解析失败: %s", err)
|
||||
}
|
||||
|
||||
mainAppExec(func() {
|
||||
logger.Log.Infof("\n%#v", global.Config)
|
||||
})
|
||||
|
||||
reloadRedis(global.Config)
|
||||
reloadDataSources(global.Config)
|
||||
@ -48,7 +51,10 @@ func reloadRedis(c *config.BasicConfig) {
|
||||
if err != nil {
|
||||
logger.Log.Fatalln("[x] [Redis] 连接失败: %s", err)
|
||||
}
|
||||
|
||||
mainAppExec(func() {
|
||||
logger.Log.Infoln("[√] [Redis] 连接成功")
|
||||
})
|
||||
|
||||
global.Redis = r
|
||||
}
|
||||
@ -63,11 +69,13 @@ func reloadDataSources(c *config.BasicConfig) {
|
||||
logger.Log.Fatalf("[x] [数据源] 致命错误: %s", err)
|
||||
}
|
||||
|
||||
mainAppExec(func() {
|
||||
logger.Log.Infoln("[√] [数据源] 初始化完成")
|
||||
})
|
||||
|
||||
global.DataSources = connGroup
|
||||
|
||||
if c.Mysql.AutoSync {
|
||||
if c.Mysql.AutoSync && !fiber.IsChild() {
|
||||
global.SyncModelToDataSource()
|
||||
}
|
||||
}
|
||||
@ -107,13 +115,22 @@ func reloadApp(c *config.BasicConfig) *fiber.App {
|
||||
controller.ErrorHandler(app)
|
||||
|
||||
app.Hooks().OnListen(func() error {
|
||||
mainAppExec(func() {
|
||||
logger.Log.Infoln("[√] [服务启动完成]")
|
||||
})
|
||||
return nil
|
||||
})
|
||||
|
||||
return app
|
||||
}
|
||||
|
||||
// mainAppExec 仅主进程执行 忽略子进程
|
||||
func mainAppExec(fn func()) {
|
||||
if !fiber.IsChild() {
|
||||
fn()
|
||||
}
|
||||
}
|
||||
|
||||
// routes
|
||||
// @Summary 获取所有路由
|
||||
// @Description 获取所有路由信息
|
||||
|
@ -2,7 +2,7 @@ server:
|
||||
# 监听地址 :3000 或 127.0.0.1:3000
|
||||
addr: ":3000"
|
||||
# 启用多进程
|
||||
preFork: false
|
||||
preFork: true
|
||||
# 路由大小写严格
|
||||
caseSensitive: true
|
||||
# 严格路由模式
|
||||
|
Loading…
Reference in New Issue
Block a user