feat app 模块

This commit is contained in:
2026-01-16 22:07:09 +08:00
parent 05f6e0a716
commit 93c0d20eba
6 changed files with 243 additions and 102 deletions

View File

@@ -3,27 +3,29 @@ package app
import (
"fmt"
"git.hlsq.asia/mmorpg/service-common/log"
"git.hlsq.asia/mmorpg/service-common/module"
"git.hlsq.asia/mmorpg/service-robot/config"
"github.com/judwhite/go-svc"
)
type Program struct {
moduleList []Module // 模块列表
}
type Module interface {
init() error
start() error
stop() error
moduleList []module.Module // 模块列表
}
func (p *Program) Init(_ svc.Environment) error {
p.moduleList = append(p.moduleList, &ModuleBase{})
base := &ModuleBase{}
if err := base.Init(); err != nil {
return err
}
p.moduleList = append(p.moduleList, base)
p.moduleList = append(p.moduleList, &ModuleWebsocket{})
p.moduleList = append(p.moduleList, &ModulePprof{})
for _, module := range p.moduleList {
if err := module.init(); err != nil {
for i, m := range p.moduleList {
if i == 0 {
continue
}
if err := m.Init(); err != nil {
return err
}
}
@@ -32,8 +34,8 @@ func (p *Program) Init(_ svc.Environment) error {
}
func (p *Program) Start() error {
for _, module := range p.moduleList {
if err := module.start(); err != nil {
for _, m := range p.moduleList {
if err := m.Start(); err != nil {
return err
}
}
@@ -44,8 +46,8 @@ func (p *Program) Start() error {
func (p *Program) Stop() error {
for i := len(p.moduleList) - 1; i >= 0; i-- {
module := p.moduleList[i]
if err := module.stop(); err != nil {
m := p.moduleList[i]
if err := m.Stop(); err != nil {
log.Errorf("module stop error: %v", err)
}
}