代码拉取完成,页面将自动刷新
同步操作将从 有贝无患/go-xxljob-executor 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
package server
import (
. "gitee.com/YaPi98/go-xxljob-executor/biz/model"
"gitee.com/YaPi98/go-xxljob-executor/enums/gluetype"
. "gitee.com/YaPi98/go-xxljob-executor/global"
"gitee.com/YaPi98/go-xxljob-executor/proccess"
"gitee.com/YaPi98/go-xxljob-executor/run"
"gitee.com/YaPi98/go-xxljob-executor/tools"
"time"
)
const (
SERIAL_EXECUTION = "SERIAL_EXECUTION"
DISCARD_LATER = "DISCARD_LATER"
COVER_EARLY = "COVER_EARLY"
)
type ExecutorBizImpl struct {
triggerCallback *proccess.TriggerCallbackProccessor
}
func NewExecutorBizImpl(triggerCallback *proccess.TriggerCallbackProccessor) *ExecutorBizImpl {
return &ExecutorBizImpl{
triggerCallback: triggerCallback,
}
}
func (t *ExecutorBizImpl) Beat() ReturnT {
return ReturnT{Code: SUCCESS_CODE}
}
func (t *ExecutorBizImpl) IdleBeat(idleBeatParam IdleBeatParam) ReturnT {
jobRunner := run.GetJubRunner(idleBeatParam.JobId)
if nil != jobRunner && jobRunner.IsRunningOrHasQueue() {
return ReturnT{
Code: FAIL_CODE,
Msg: "job thread is running or has trigger queue.",
}
}
return ReturnT{Code: SUCCESS_CODE}
}
func (t *ExecutorBizImpl) Run(triggerParam TriggerParam) ReturnT {
Logger.Info("-----------------" + triggerParam.String())
if triggerParam.GlueType != gluetype.BEAN {
return ReturnT{
Code: FAIL_CODE,
Msg: "only support one GlueType:BEAN !!! ",
}
}
handler := run.GetJobHandler(triggerParam.ExecutorHandler)
if nil == handler {
return ReturnT{
Code: FAIL_CODE,
Msg: "has no such ExecutorHandler!!",
}
}
jobRunner := run.GetJubRunner(triggerParam.JobId)
if nil == jobRunner {
jobRunner = run.AddJobRunner(triggerParam.JobId, run.GetJobHandler(triggerParam.ExecutorHandler), t.triggerCallback)
}
switch triggerParam.ExecutorBlockStrategy {
case SERIAL_EXECUTION:
jobRunner.PushTriggerQueue(triggerParam)
case DISCARD_LATER:
if jobRunner.IsRunningOrHasQueue() {
return ReturnT{Code: FAIL_CODE, Msg: "block strategy effect:" + DISCARD_LATER}
} else {
jobRunner.PushTriggerQueue(triggerParam)
}
case COVER_EARLY:
jobRunner.Run(triggerParam)
}
return ReturnT{Code: SUCCESS_CODE}
}
func (t *ExecutorBizImpl) Kill(killParam KillParam) ReturnT {
jobRunner := run.GetJubRunner(killParam.JobId)
if nil == jobRunner {
run.RemoveJobRunner(killParam.JobId)
return ReturnT{
Code: SUCCESS_CODE,
Msg: "scheduling center kill job.",
}
}
return ReturnT{
Code: SUCCESS_CODE,
Msg: "job thread already killed.",
}
}
func (t *ExecutorBizImpl) Log(logParam LogParam) ReturnT {
logFileName := tools.MakeLogFileName(logParam.LogId, time.Unix(logParam.LogDateTim/1000, 0))
logResult := tools.ReadLog(logFileName, logParam.FromLineNum)
return ReturnT{
Code: SUCCESS_CODE,
Content: logResult,
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。