57 lines
1.2 KiB
Go
57 lines
1.2 KiB
Go
package boot
|
||
|
||
import (
|
||
"context"
|
||
"time"
|
||
|
||
"github.com/ayflying/utility_go/service"
|
||
"github.com/gogf/gf/v2/frame/g"
|
||
"github.com/gogf/gf/v2/os/gctx"
|
||
"github.com/gogf/gf/v2/os/gtimer"
|
||
)
|
||
|
||
var (
|
||
ctx = gctx.GetInitCtx()
|
||
_func = []func(){}
|
||
)
|
||
|
||
func Boot() (err error) {
|
||
// 启动计划任务定时器,预防debug工具激活计划任务造成重复执行,此处不执行计划任务
|
||
//err = service.SystemCron().StartCron()
|
||
|
||
// //用户活动持久化每小时执行一次
|
||
// service.SystemCron().AddCronV2(v1.CronType_HOUR, func(context.Context) error {
|
||
// go func() {
|
||
// err = service.GameKv().SavesV1()
|
||
// err = service.GameAct().SavesV2()
|
||
// if err != nil {
|
||
// g.Log().Error(gctx.New(), err)
|
||
// }
|
||
// }()
|
||
// return nil
|
||
// }, true)
|
||
|
||
//延迟6秒执行定时器
|
||
gtimer.SetTimeout(ctx, time.Second*10, func(ctx context.Context) {
|
||
gtimer.SetInterval(ctx, time.Hour*2, func(ctx context.Context) {
|
||
err = service.GameKv().SavesV1()
|
||
err = service.GameAct().SavesV2()
|
||
if err != nil {
|
||
g.Log().Error(gctx.New(), err)
|
||
}
|
||
})
|
||
|
||
})
|
||
|
||
//初始化自启动方法
|
||
for _, v := range _func {
|
||
v()
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// AddFunc 注册方法,在启动时执行
|
||
func AddFunc(f func()) {
|
||
_func = append(_func, f)
|
||
}
|