51 lines
1.3 KiB
Go
51 lines
1.3 KiB
Go
package data
|
||
|
||
import (
|
||
"fmt"
|
||
c "git.inspur.com/sbg-jszt/cfn/cfn-schedule/config"
|
||
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/pkg/log"
|
||
"github.com/xxl-job/xxl-job-executor-go"
|
||
"strconv"
|
||
)
|
||
|
||
var Xxljob xxl.Executor
|
||
|
||
func initXxlJob() {
|
||
if !c.Config.CfnConfig.Enable {
|
||
return
|
||
}
|
||
|
||
//初始化执行器
|
||
Xxljob = xxl.NewExecutor(
|
||
xxl.ServerAddr(c.Config.XxlJob.Url),
|
||
xxl.AccessToken(c.Config.XxlJob.Token),
|
||
xxl.ExecutorPort(strconv.FormatUint(c.Config.Server.Port, 10)), //默认9999(此处要与gin服务启动port必需一至)
|
||
xxl.RegistryKey("cfn-schedule"), //执行器名称
|
||
xxl.SetLogger(&clogger{}), //自定义日志
|
||
)
|
||
Xxljob.Init()
|
||
//设置日志查看handler
|
||
Xxljob.LogHandler(customLogHandle)
|
||
}
|
||
|
||
// 自定义日志处理器
|
||
func customLogHandle(req *xxl.LogReq) *xxl.LogRes {
|
||
return &xxl.LogRes{Code: xxl.SuccessCode, Msg: "", Content: xxl.LogResContent{
|
||
FromLineNum: req.FromLineNum,
|
||
ToLineNum: 2,
|
||
LogContent: "这个是自定义日志handler",
|
||
IsEnd: true,
|
||
}}
|
||
}
|
||
|
||
// xxl.Logger接口实现
|
||
type clogger struct{}
|
||
|
||
func (l *clogger) Info(format string, a ...interface{}) {
|
||
log.Info(fmt.Sprintf("xxl-job日志 - "+format, a...))
|
||
}
|
||
|
||
func (l *clogger) Error(format string, a ...interface{}) {
|
||
log.Error(fmt.Sprintf("xxl-job日志 - "+format, a...))
|
||
}
|