代码拉取完成,页面将自动刷新
package frame
import (
"time"
"gitee.com/go-mao/mao/libs/crontab"
"gitee.com/go-mao/mao/libs/try"
)
type crontabDomain struct {
cronTask *crontab.CronSchduler
server *Server
}
// 初始化定时任务
func (this *crontabDomain) init(module ModuleInterface) {
if this.cronTask == nil {
this.cronTask = crontab.New()
}
taskList := module.Crontabs()
for _, task := range taskList {
taskClone := task
call := func() {
tl := this.server.TaskLine()
try.Do(func() {
this.server.logger.Debugf("[CRON] %s [%d] %s", time.Now().Format("2006-01-02 15:04:05"), tl.index, taskClone.Name())
taskClone.Handler(tl)
}, func(e try.Exception) {
this.server.logger.Errorf("[CRON] %s [%d] [%s] [%d] %s", time.Now().Format("2006-01-02 15:04:05"), tl.index, taskClone.Name(), e.ErrCode(), e.ErrMsg())
})
}
job, err := crontab.NewJobModel(taskClone.Schedule(), call)
if err != nil {
try.Throw(CODE_FATAL, "定时任务【"+taskClone.Name()+"】错误:", err.Error())
}
this.cronTask.DynamicRegister(taskClone.Name(), job)
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。