上传item 写入mgo日志异常bug修复

This commit is contained in:
liwei1dao 2022-07-26 20:12:32 +08:00
parent 158a66407c
commit 398783c256
3 changed files with 39 additions and 45 deletions

View File

@ -92,43 +92,45 @@ func (this *ServiceBase) Start() (err error) {
//运行模块 //运行模块
func (this *ServiceBase) Run(mod ...core.IModule) { func (this *ServiceBase) Run(mod ...core.IModule) {
for _, v := range mod { //初始化模块对象 分配配置参数 go func() {
if sf, ok := this.service.GetSettings().Modules[string(v.GetType())]; ok { for _, v := range mod { //初始化模块对象 分配配置参数
this.modules[v.GetType()] = &defaultModule{ if sf, ok := this.service.GetSettings().Modules[string(v.GetType())]; ok {
seetring: sf, this.modules[v.GetType()] = &defaultModule{
mi: v, seetring: sf,
closeSig: make(chan bool, 1), mi: v,
closeSig: make(chan bool, 1),
}
} else {
this.modules[v.GetType()] = &defaultModule{
seetring: make(map[string]interface{}),
mi: v,
closeSig: make(chan bool, 1),
}
} }
} else { log.Infof("注册模块【%s】", v.GetType())
this.modules[v.GetType()] = &defaultModule{ }
seetring: make(map[string]interface{}), for _, v := range this.modules { //序列化每一个模块的参数对象 完成模块的初始化 过程
mi: v, options := v.mi.NewOptions()
closeSig: make(chan bool, 1), if err := options.LoadConfig(v.seetring); err == nil {
err := v.mi.Init(this.service, v.mi, options)
if err != nil {
log.Panicf(fmt.Sprintf("初始化模块【%s】错误 err:%v", v.mi.GetType(), err))
}
} else {
log.Panicf(fmt.Sprintf("模块【%s】 Options:%v 配置错误 err:%v", v.mi.GetType(), v.seetring, err))
} }
} }
log.Infof("注册模块【%s】", v.GetType()) for _, v := range this.modules { //完成模块的启动过程
} err := v.mi.Start()
for _, v := range this.modules { //序列化每一个模块的参数对象 完成模块的初始化 过程
options := v.mi.NewOptions()
if err := options.LoadConfig(v.seetring); err == nil {
err := v.mi.Init(this.service, v.mi, options)
if err != nil { if err != nil {
log.Panicf(fmt.Sprintf("初始化模块【%s】错误 err:%v", v.mi.GetType(), err)) log.Panicf(fmt.Sprintf("启动模块【%s】错误 err:%v", v.mi.GetType(), err))
} }
} else {
log.Panicf(fmt.Sprintf("模块【%s】 Options:%v 配置错误 err:%v", v.mi.GetType(), v.seetring, err))
} }
} for _, v := range this.modules { //启动模块的独立协程
for _, v := range this.modules { //完成模块的启动过程 go v.run()
err := v.mi.Start()
if err != nil {
log.Panicf(fmt.Sprintf("启动模块【%s】错误 err:%v", v.mi.GetType(), err))
} }
} event.TriggerEvent(core.Event_ServiceStartEnd) //广播服务启动完毕事件
for _, v := range this.modules { //启动模块的独立协程 }()
go v.run()
}
event.TriggerEvent(core.Event_ServiceStartEnd) //广播服务启动完毕事件
//监听外部关闭服务信号 //监听外部关闭服务信号
c := make(chan os.Signal, 1) c := make(chan os.Signal, 1)
//添加进程结束信号 //添加进程结束信号

View File

@ -26,16 +26,13 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ItemsGetlistReq)
dels []*pb.DB_UserItemData dels []*pb.DB_UserItemData
) )
defer func() { defer func() {
session.SendMsg(string(this.module.GetType()), "getlist", &pb.ItemsGetlistResp{Grids: items})
if code == pb.ErrorCode_Success { if code == pb.ErrorCode_Success {
go func() { //异步处理修改数据 if len(modifys) > 0 {
if len(modifys) > 0 { this.module.modelItems.UpdateUserPack(session.GetUserId(), modifys...)
this.module.modelItems.UpdateUserPack(session.GetUserId(), modifys...) }
} if len(dels) > 0 {
if len(dels) > 0 { this.module.modelItems.DeleteUserPack(session.GetUserId(), dels...)
this.module.modelItems.DeleteUserPack(session.GetUserId(), dels...) }
}
}()
} }
}() }()
@ -61,5 +58,6 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ItemsGetlistReq)
} }
} }
} }
session.SendMsg(string(this.module.GetType()), "getlist", &pb.ItemsGetlistResp{Grids: items})
return return
} }

View File

@ -1,7 +1,6 @@
package items package items
import ( import (
"errors"
"fmt" "fmt"
"go_dreamfactory/lego/core" "go_dreamfactory/lego/core"
"go_dreamfactory/modules" "go_dreamfactory/modules"
@ -68,11 +67,6 @@ func (this *ModelItemsComp) DelUserPack(uId string, ids ...string) (err error) {
//更新用户的背包信息 //更新用户的背包信息
func (this *ModelItemsComp) UpdateUserPack(uid string, itmes ...*pb.DB_UserItemData) (err error) { func (this *ModelItemsComp) UpdateUserPack(uid string, itmes ...*pb.DB_UserItemData) (err error) {
if len(uid) == 0 {
err = errors.New("UpdateUserPack uid is nil")
this.module.Panicf("err:%v", err)
return
}
for _, v := range itmes { for _, v := range itmes {
this.ChangeList(uid, v.GridId, map[string]interface{}{ this.ChangeList(uid, v.GridId, map[string]interface{}{
"amount": v.Amount, "amount": v.Amount,