Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
X
XXL-JOB
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
靳帅
XXL-JOB
Commits
d0c4c3f0
提交
d0c4c3f0
authored
6月 24, 2018
作者:
xuxueli
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
失败策略优化
上级
399cc2b1
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
32 行增加
和
20 行删除
+32
-20
ExecutorFailStrategyEnum.java
...om/xxl/job/admin/core/enums/ExecutorFailStrategyEnum.java
+4
-2
XxlJobTrigger.java
...in/java/com/xxl/job/admin/core/trigger/XxlJobTrigger.java
+5
-5
AdminBizImpl.java
...ain/java/com/xxl/job/admin/service/impl/AdminBizImpl.java
+17
-5
message.properties
xxl-job-admin/src/main/resources/i18n/message.properties
+3
-4
message_en.properties
xxl-job-admin/src/main/resources/i18n/message_en.properties
+3
-4
没有找到文件。
xxl-job-admin/src/main/java/com/xxl/job/admin/core/enums/ExecutorFailStrategyEnum.java
浏览文件 @
d0c4c3f0
...
...
@@ -7,9 +7,11 @@ import com.xxl.job.admin.core.util.I18nUtil;
*/
public
enum
ExecutorFailStrategyEnum
{
FAIL_ALARM
(
I18nUtil
.
getString
(
"jobconf_fail_alarm
"
)),
NULL
(
I18nUtil
.
getString
(
"jobconf_fail_null
"
)),
FAIL_RETRY
(
I18nUtil
.
getString
(
"jobconf_fail_retry"
));
FAIL_TRIGGER_RETRY
(
I18nUtil
.
getString
(
"jobconf_fail_trigger_retry"
)),
FAIL_HANDLE_RETRY
(
I18nUtil
.
getString
(
"jobconf_fail_handle_retry"
));
private
final
String
title
;
private
ExecutorFailStrategyEnum
(
String
title
)
{
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/trigger/XxlJobTrigger.java
浏览文件 @
d0c4c3f0
...
...
@@ -43,7 +43,7 @@ public class XxlJobTrigger {
XxlJobGroup
group
=
XxlJobDynamicScheduler
.
xxlJobGroupDao
.
load
(
jobInfo
.
getJobGroup
());
// group info
ExecutorBlockStrategyEnum
blockStrategy
=
ExecutorBlockStrategyEnum
.
match
(
jobInfo
.
getExecutorBlockStrategy
(),
ExecutorBlockStrategyEnum
.
SERIAL_EXECUTION
);
// block strategy
ExecutorFailStrategyEnum
failStrategy
=
ExecutorFailStrategyEnum
.
match
(
jobInfo
.
getExecutorFailStrategy
(),
ExecutorFailStrategyEnum
.
FAIL_ALARM
);
// fail strategy
ExecutorFailStrategyEnum
failStrategy
=
ExecutorFailStrategyEnum
.
match
(
jobInfo
.
getExecutorFailStrategy
(),
ExecutorFailStrategyEnum
.
NULL
);
// fail strategy
ExecutorRouteStrategyEnum
executorRouteStrategyEnum
=
ExecutorRouteStrategyEnum
.
match
(
jobInfo
.
getExecutorRouteStrategy
(),
null
);
// route strategy
ArrayList
<
String
>
addressList
=
(
ArrayList
<
String
>)
group
.
getRegistryList
();
...
...
@@ -104,9 +104,9 @@ public class XxlJobTrigger {
triggerMsgSb
.
append
(
"<br><br><span style=\"color:#00c0ef;\" > >>>>>>>>>>>"
+
I18nUtil
.
getString
(
"jobconf_trigger_run"
)
+
"<<<<<<<<<<< </span><br>"
).
append
(
triggerResult
.
getMsg
());
// 4.3、trigger (fail retry)
if
(
triggerResult
.
getCode
()!=
ReturnT
.
SUCCESS_CODE
&&
failStrategy
==
ExecutorFailStrategyEnum
.
FAIL_RETRY
)
{
if
(
triggerResult
.
getCode
()!=
ReturnT
.
SUCCESS_CODE
&&
failStrategy
==
ExecutorFailStrategyEnum
.
FAIL_
TRIGGER_
RETRY
)
{
triggerResult
=
runExecutor
(
triggerParam
,
address
);
// update04
triggerMsgSb
.
append
(
"<br><br><span style=\"color:#F39C12;\" > >>>>>>>>>>>"
+
I18nUtil
.
getString
(
"jobconf_
trigger_fail
_retry"
)
+
"<<<<<<<<<<< </span><br>"
).
append
(
triggerResult
.
getMsg
());
triggerMsgSb
.
append
(
"<br><br><span style=\"color:#F39C12;\" > >>>>>>>>>>>"
+
I18nUtil
.
getString
(
"jobconf_
fail_trigger
_retry"
)
+
"<<<<<<<<<<< </span><br>"
).
append
(
triggerResult
.
getMsg
());
}
}
...
...
@@ -174,9 +174,9 @@ public class XxlJobTrigger {
triggerMsgSb
.
append
(
"<br><br><span style=\"color:#00c0ef;\" > >>>>>>>>>>>"
+
I18nUtil
.
getString
(
"jobconf_trigger_run"
)
+
"<<<<<<<<<<< </span><br>"
).
append
(
triggerResult
.
getMsg
());
// 4.3、trigger (fail retry)
if
(
triggerResult
.
getCode
()!=
ReturnT
.
SUCCESS_CODE
&&
failStrategy
==
ExecutorFailStrategyEnum
.
FAIL_RETRY
)
{
if
(
triggerResult
.
getCode
()!=
ReturnT
.
SUCCESS_CODE
&&
failStrategy
==
ExecutorFailStrategyEnum
.
FAIL_
TRIGGER_
RETRY
)
{
triggerResult
=
executorRouteStrategyEnum
.
getRouter
().
routeRun
(
triggerParam
,
addressList
);
triggerMsgSb
.
append
(
"<br><br><span style=\"color:#F39C12;\" > >>>>>>>>>>>"
+
I18nUtil
.
getString
(
"jobconf_
trigger_fail
_retry"
)
+
"<<<<<<<<<<< </span><br>"
).
append
(
triggerResult
.
getMsg
());
triggerMsgSb
.
append
(
"<br><br><span style=\"color:#F39C12;\" > >>>>>>>>>>>"
+
I18nUtil
.
getString
(
"jobconf_
fail_trigger
_retry"
)
+
"<<<<<<<<<<< </span><br>"
).
append
(
triggerResult
.
getMsg
());
}
}
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/AdminBizImpl.java
浏览文件 @
d0c4c3f0
package
com
.
xxl
.
job
.
admin
.
service
.
impl
;
import
com.xxl.job.admin.core.enums.ExecutorFailStrategyEnum
;
import
com.xxl.job.admin.core.model.XxlJobInfo
;
import
com.xxl.job.admin.core.model.XxlJobLog
;
import
com.xxl.job.admin.core.util.I18nUtil
;
...
...
@@ -89,12 +90,23 @@ public class AdminBizImpl implements AdminBiz {
}
}
}
else
if
(
IJobHandler
.
FAIL_RETRY
.
getCode
()
==
handleCallbackParam
.
getExecuteResult
().
getCode
()){
ReturnT
<
String
>
retryTriggerResult
=
xxlJobService
.
triggerJob
(
log
.
getJobId
());
callbackMsg
=
"<br><br><span style=\"color:#F39C12;\" > >>>>>>>>>>>"
+
I18nUtil
.
getString
(
"jobconf_exe_fail_retry"
)
+
"<<<<<<<<<<< </span><br>"
;
}
else
{
boolean
ifHandleRetry
=
false
;
if
(
IJobHandler
.
FAIL_RETRY
.
getCode
()
==
handleCallbackParam
.
getExecuteResult
().
getCode
())
{
ifHandleRetry
=
true
;
}
else
{
XxlJobInfo
xxlJobInfo
=
xxlJobInfoDao
.
loadById
(
log
.
getJobId
());
if
(
ExecutorFailStrategyEnum
.
FAIL_HANDLE_RETRY
.
name
().
equals
(
xxlJobInfo
.
getExecutorFailStrategy
()))
{
ifHandleRetry
=
true
;
}
}
if
(
ifHandleRetry
){
ReturnT
<
String
>
retryTriggerResult
=
xxlJobService
.
triggerJob
(
log
.
getJobId
());
callbackMsg
=
"<br><br><span style=\"color:#F39C12;\" > >>>>>>>>>>>"
+
I18nUtil
.
getString
(
"jobconf_fail_handle_retry"
)
+
"<<<<<<<<<<< </span><br>"
;
callbackMsg
+=
MessageFormat
.
format
(
I18nUtil
.
getString
(
"jobconf_callback_msg1"
),
(
retryTriggerResult
.
getCode
()==
ReturnT
.
SUCCESS_CODE
?
I18nUtil
.
getString
(
"system_success"
):
I18nUtil
.
getString
(
"system_fail"
)),
retryTriggerResult
.
getMsg
());
callbackMsg
+=
MessageFormat
.
format
(
I18nUtil
.
getString
(
"jobconf_callback_msg1"
),
(
retryTriggerResult
.
getCode
()==
ReturnT
.
SUCCESS_CODE
?
I18nUtil
.
getString
(
"system_success"
):
I18nUtil
.
getString
(
"system_fail"
)),
retryTriggerResult
.
getMsg
());
}
}
// handle msg
...
...
xxl-job-admin/src/main/resources/i18n/message.properties
浏览文件 @
d0c4c3f0
...
...
@@ -198,8 +198,9 @@ jobgroup_del_limit_1=拒绝删除, 系统至少保留一个执行器
jobconf_block_SERIAL_EXECUTION
=
单机串行
jobconf_block_DISCARD_LATER
=
丢弃后续调度
jobconf_block_COVER_EARLY
=
覆盖之前调度
jobconf_fail_alarm
=
失败告警
jobconf_fail_retry
=
失败重试
jobconf_fail_null
=
无
jobconf_fail_trigger_retry
=
调度失败重试
jobconf_fail_handle_retry
=
执行失败重试
jobconf_route_first
=
第一个
jobconf_route_last
=
最后一个
jobconf_route_round
=
轮询
...
...
@@ -223,8 +224,6 @@ jobconf_trigger_exe_regaddress=执行器-地址列表
jobconf_trigger_address_empty
=
调度失败:执行器地址为空
jobconf_trigger_run
=
触发调度
jobconf_trigger_child_run
=
触发子任务
jobconf_trigger_fail_retry
=
调度失败重试
jobconf_exe_fail_retry
=
执行失败重试
jobconf_callback_child_msg1
=
{0}/{1} [任务ID={2}], 触发{3}, 触发备注: {4} <br>
jobconf_callback_child_msg2
=
{0}/{1} [任务ID={2}], 触发失败, 触发备注: 任务ID格式错误 <br>
jobconf_callback_msg1
=
触发{0}, 触发备注: {1} <br>
...
...
xxl-job-admin/src/main/resources/i18n/message_en.properties
浏览文件 @
d0c4c3f0
...
...
@@ -198,8 +198,9 @@ jobgroup_del_limit_1=Refuses to delete, the system retains at least one executor
jobconf_block_SERIAL_EXECUTION
=
Serial execution
jobconf_block_DISCARD_LATER
=
Discard Later
jobconf_block_COVER_EARLY
=
Cover Early
jobconf_fail_alarm
=
Fail Alarm
jobconf_fail_retry
=
Fail Retry
jobconf_fail_null
=
Fail Alarm
jobconf_fail_trigger_retry
=
Trigger Fail Retry
jobconf_fail_handle_retry
=
Handle Fail Retry
jobconf_route_first
=
First
jobconf_route_last
=
Last
jobconf_route_round
=
Round
...
...
@@ -223,8 +224,6 @@ jobconf_trigger_exe_regaddress=Execotor-Registry Address
jobconf_trigger_address_empty
=
Trigger Fail:registry address is empty
jobconf_trigger_run
=
Trigger Job
jobconf_trigger_child_run
=
Trigger child job
jobconf_trigger_fail_retry
=
Trigger fail retry
jobconf_exe_fail_retry
=
Handle fail retry
jobconf_callback_child_msg1
=
{0}/{1} [Job ID={2}], Trigger {3}, Trigger msg: {4} <br>
jobconf_callback_child_msg2
=
{0}/{1} [Job ID={2}], Trigger Fail, Trigger msg: Job ID is illegal <br>
jobconf_callback_msg1
=
Trigger {0}, Trigger msg: {1} <br>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论