区分唯一计划任务,判断当前服务器是否关闭计划任务
This commit is contained in:
@@ -22,7 +22,7 @@ func Boot() (err error) {
|
|||||||
err = service.GameKv().SavesV1()
|
err = service.GameKv().SavesV1()
|
||||||
err = service.GameAct().Saves(ctx)
|
err = service.GameAct().Saves(ctx)
|
||||||
return err
|
return err
|
||||||
})
|
}, true)
|
||||||
|
|
||||||
//初始化自启动方法
|
//初始化自启动方法
|
||||||
for _, v := range _func {
|
for _, v := range _func {
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ func (s *sSystemCron) AddCron(typ v1.CronType, _func func() error) {
|
|||||||
var _func2 = func(ctx context.Context) error {
|
var _func2 = func(ctx context.Context) error {
|
||||||
return _func()
|
return _func()
|
||||||
}
|
}
|
||||||
s.AddCronV2(typ, _func2)
|
s.AddCronV2(typ, _func2, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
// AddCronV2 添加一个定时任务到相应的调度列表中。
|
// AddCronV2 添加一个定时任务到相应的调度列表中。
|
||||||
@@ -92,10 +92,13 @@ func (s *sSystemCron) AddCron(typ v1.CronType, _func func() error) {
|
|||||||
// @param _func: 要添加的任务函数,该函数执行时应该返回一个error。
|
// @param _func: 要添加的任务函数,该函数执行时应该返回一个error。
|
||||||
// @param unique: 是否只在唯一服务器上执行
|
// @param unique: 是否只在唯一服务器上执行
|
||||||
func (s *sSystemCron) AddCronV2(typ v1.CronType, _func func(context.Context) error, unique ...bool) {
|
func (s *sSystemCron) AddCronV2(typ v1.CronType, _func func(context.Context) error, unique ...bool) {
|
||||||
//如果
|
//如果传过来的任务是唯一性的
|
||||||
|
if len(unique) > 0 && unique[0] {
|
||||||
|
// 如果当前服务器配置关闭任务,不执行当前服务器的唯一任务
|
||||||
if g.Cfg().MustGet(gctx.New(), "game.cron_close").Bool() {
|
if g.Cfg().MustGet(gctx.New(), "game.cron_close").Bool() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//加锁
|
//加锁
|
||||||
s.Lock.Lock()
|
s.Lock.Lock()
|
||||||
|
|||||||
Reference in New Issue
Block a user