更新gf版本到v2.2.4

This commit is contained in:
孟帅
2022-11-25 23:22:44 +08:00
parent 29bda0dcdd
commit e990ce28a1
9 changed files with 107 additions and 48 deletions

View File

@@ -11,12 +11,11 @@ require (
github.com/dgrijalva/jwt-go v3.2.0+incompatible
github.com/go-resty/resty/v2 v2.7.0
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.2.0-beta2
github.com/gogf/gf/v2 v2.2.0-beta2
github.com/gogf/gf/v2 v2.2.4
github.com/golang/mock v1.6.0 // indirect
github.com/gomodule/redigo v1.8.8
github.com/google/btree v1.1.2 // indirect
github.com/gorilla/websocket v1.5.0
github.com/h2non/filetype v1.1.3
github.com/kayon/iploc v0.0.0-20200312105652-bda3e968a794
github.com/mattn/go-colorable v0.1.12 // indirect
github.com/mojocn/base64Captcha v1.3.5

View File

@@ -127,8 +127,8 @@ github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg78
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.2.0-beta2 h1:QgVPXrGp8wJx18HIOsNATaIiHjXsd/Rk1F1QyxfWv+g=
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.2.0-beta2/go.mod h1:z+/0qiOwMroAnj5ESuobTv0l5P83rf+XR3r6Fj8WJyk=
github.com/gogf/gf/v2 v2.0.0/go.mod h1:apktt6TleWtCIwpz63vBqUnw8MX8gWKoZyxgDpXFtgM=
github.com/gogf/gf/v2 v2.2.0-beta2 h1:XDx9dzUf3/9HRkSSZdW7XnI3gvtgpoKpDkP2ZsKlf/4=
github.com/gogf/gf/v2 v2.2.0-beta2/go.mod h1:thvkyb43RWUu/m05sRm4CbH9r7t7/FrW2M56L9Ystwk=
github.com/gogf/gf/v2 v2.2.4 h1:Y2c0F4dDDYlQswHPtoGJ0l9kvQjE0a9jmM02qCAZoqo=
github.com/gogf/gf/v2 v2.2.4/go.mod h1:thvkyb43RWUu/m05sRm4CbH9r7t7/FrW2M56L9Ystwk=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
@@ -208,8 +208,6 @@ github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWm
github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/grokify/html-strip-tags-go v0.0.1 h1:0fThFwLbW7P/kOiTBs03FsJSV9RM2M/Q/MOnCQxKMo0=
github.com/grokify/html-strip-tags-go v0.0.1/go.mod h1:2Su6romC5/1VXOQMaWL2yb618ARB8iVo6/DR99A6d78=
github.com/h2non/filetype v1.1.3 h1:FKkx9QbD7HR/zjK1Ia5XiBsq9zdLi5Kf3zGyFTAFkGg=
github.com/h2non/filetype v1.1.3/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY=
github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=

View File

@@ -10,7 +10,7 @@ import (
"context"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gcmd"
"github.com/gogf/gf/v2/os/grpool"
"hotgo/utility/simple"
)
var (
@@ -20,13 +20,13 @@ var (
欢迎使用HotGo!
---------------------------------------------------------------------------------
启动服务
>> HTTP服务 [gf run main.go --args "http"]
>> 消息队列 [gf run main.go --args "queue"]
>> 所有服务 [gf run main.go --args "all"]
>> HTTP服务 [go run main.go http]
>> 消息队列 [go run main.go queue]
>> 所有服务 [go run main.go all]
---------------------------------------------------------------------------------
工具
>> 释放casbin权限用于清理无效的权限设置 [gf run main.go --args "tools -m=casbin -a1=refresh"]
>> 释放casbin权限用于清理无效的权限设置 [go run main.go tools -m=casbin -a1=refresh]
`,
}
@@ -46,22 +46,17 @@ var (
Func: func(ctx context.Context, parser *gcmd.Parser) (err error) {
g.Log().Info(ctx, "start all server")
if err = grpool.AddWithRecover(ctx, func(ctx context.Context) {
simple.SafeGo(ctx, func(ctx context.Context) {
if err := Http.Func(ctx, parser); err != nil {
g.Log().Fatal(ctx, "http server start fail:", err)
}
}); err != nil {
return
}
})
if err = grpool.AddWithRecover(ctx, func(ctx context.Context) {
simple.SafeGo(ctx, func(ctx context.Context) {
if err := Queue.Func(ctx, parser); err != nil {
g.Log().Fatal(ctx, "queue consumer start fail:", err)
}
}); err != nil {
g.Log().Fatal(ctx, "queue consumer start fail2:", err)
return
}
})
// 信号监听
signalListen(ctx, signalHandlerForOverall)

View File

@@ -8,11 +8,10 @@ package cmd
import (
"context"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gproc"
"github.com/gogf/gf/v2/os/grpool"
"hotgo/internal/crons"
"hotgo/internal/websocket"
"hotgo/utility/simple"
"os"
)
@@ -29,12 +28,9 @@ func signalHandlerForOverall(sig os.Signal) {
}
func signalListen(ctx context.Context, handler ...gproc.SigHandler) {
err := grpool.AddWithRecover(ctx, func(ctx context.Context) {
simple.SafeGo(ctx, func(ctx context.Context) {
gproc.AddSigHandlerShutdown(handler...)
gproc.Listen()
})
if err != nil {
g.Log().Fatal(ctx, "signalListen Fatal:", err)
return
}
}

View File

@@ -10,11 +10,11 @@ import (
"context"
"github.com/gogf/gf/v2/errors/gerror"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/grpool"
"hotgo/api/backend/monitor"
"hotgo/internal/consts"
"hotgo/internal/model/input/form"
"hotgo/internal/websocket"
"hotgo/utility/simple"
"hotgo/utility/useragent"
"sort"
)
@@ -36,13 +36,11 @@ func (c *cMonitor) Offline(ctx context.Context, req *monitor.OfflineReq) (res *m
return
}
err = grpool.AddWithRecover(ctx, func(ctx context.Context) {
simple.SafeGo(ctx, func(ctx context.Context) {
websocket.SendSuccess(client, "kick")
websocket.Close(client)
})
if err != nil {
return nil, err
}
return res, nil
}

View File

@@ -9,10 +9,9 @@ package global
import (
"context"
"fmt"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/grpool"
"github.com/gogf/gf/v2/os/gtime"
"hotgo/internal/library/location"
"hotgo/utility/simple"
"os"
)
@@ -29,14 +28,9 @@ func Init(ctx context.Context) {
}
func loadMonitor(ctx context.Context) {
err := grpool.AddWithRecover(ctx, func(ctx context.Context) {
simple.SafeGo(ctx, func(ctx context.Context) {
MonitorData.STartTime = gtime.Now()
MonitorData.IntranetIP, _ = location.GetLocalIP()
MonitorData.PublicIP, _ = location.GetPublicIP()
})
if err != nil {
g.Log().Fatal(ctx, "global loadMonitor Fatal:", err)
return
}
}

View File

@@ -9,7 +9,6 @@ package admin
import (
"context"
"github.com/gogf/gf/v2/errors/gerror"
"github.com/gogf/gf/v2/os/grpool"
"github.com/gogf/gf/v2/os/gtime"
"hotgo/internal/consts"
"hotgo/internal/dao"
@@ -18,6 +17,7 @@ import (
"hotgo/internal/websocket"
"hotgo/utility/charset"
"hotgo/utility/convert"
"hotgo/utility/simple"
"strings"
)
@@ -75,7 +75,7 @@ func (s *sAdminNotice) Edit(ctx context.Context, in adminin.NoticeEditInp) (err
Event: "notice",
Data: in,
}
grpool.AddWithRecover(ctx, func(ctx context.Context) {
simple.SafeGo(ctx, func(ctx context.Context) {
if len(memberIds) == 0 {
websocket.SendToAll(response)
} else {

View File

@@ -0,0 +1,76 @@
// Package simple
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2022 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
//
package simple
import (
"context"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/glog"
"github.com/gogf/gf/v2/util/gconv"
)
func SafeGo(ctx context.Context, f func(ctx context.Context), level ...interface{}) {
go func() {
defer func() {
if err := recover(); err != nil {
var newLevel = glog.LEVEL_ERRO
if len(level) > 0 {
newLevel = gconv.Int(level[0])
}
Logf(newLevel, ctx, "SafeGo failed err:%+v", err)
}
}()
f(ctx)
}()
}
func Logf(level int, ctx context.Context, format string, v ...interface{}) {
switch level {
case glog.LEVEL_DEBU:
g.Log().Debugf(ctx, format, v)
case glog.LEVEL_INFO:
g.Log().Infof(ctx, format, v)
case glog.LEVEL_NOTI:
g.Log().Noticef(ctx, format, v)
case glog.LEVEL_WARN:
g.Log().Warningf(ctx, format, v)
case glog.LEVEL_ERRO:
g.Log().Errorf(ctx, format, v)
case glog.LEVEL_CRIT:
g.Log().Critical(ctx, format, v)
case glog.LEVEL_PANI:
g.Log().Panicf(ctx, format, v)
case glog.LEVEL_FATA:
g.Log().Fatalf(ctx, format, v)
default:
g.Log().Error(ctx, "Logf level not find")
}
}
func Log(level int, ctx context.Context, v ...interface{}) {
switch level {
case glog.LEVEL_DEBU:
g.Log().Debug(ctx, v)
case glog.LEVEL_INFO:
g.Log().Info(ctx, v)
case glog.LEVEL_NOTI:
g.Log().Notice(ctx, v)
case glog.LEVEL_WARN:
g.Log().Warning(ctx, v)
case glog.LEVEL_ERRO:
g.Log().Error(ctx, v)
case glog.LEVEL_CRIT:
g.Log().Critical(ctx, v)
case glog.LEVEL_PANI:
g.Log().Panic(ctx, v)
case glog.LEVEL_FATA:
g.Log().Fatal(ctx, v)
default:
g.Log().Error(ctx, "Logf level not find")
}
}