diff --git a/README.md b/README.md
index 9ea24921..144af652 100644
--- a/README.md
+++ b/README.md
@@ -54,23 +54,25 @@ XXL-JOB是一个轻量级分布式任务调度框架,其核心设计目标是
- 9、失败处理策略;调度失败时的处理策略,策略包括:失败告警(默认)、失败重试;
- 10、失败重试:调度中心调度失败且启用"失败重试"策略时,将会自动重试一次;执行器执行失败且回调失败重试状态时,也将会自动重试一次;
- 11、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度;
-- 12、分片广播任务:执行器集群部署时,任务路由策略选择"分片广播"情况下,一次任务调度将会广播触发集群中所有执行器执行一次任务,可根据分片参数开发分片任务;
-- 13、动态分片:分片广播任务以执行器为维度进行分片,支持动态扩容执行器集群从而动态增加分片数量,协同进行业务处理;在进行大数据量业务操作时可显著提升任务处理能力和速度。
-- 14、事件触发:除了"Cron方式"和"任务依赖方式"触发任务执行之外,支持基于事件的触发任务方式。调度中心提供触发任务单次执行的API服务,可根据业务事件灵活触发。
-- 15、任务进度监控:支持实时监控任务进度;
-- 16、Rolling实时日志:支持在线查看调度结果,并且支持以Rolling方式实时查看执行器输出的完整的执行日志;
-- 17、GLUE:提供Web IDE,支持在线开发任务逻辑代码,动态发布,实时编译生效,省略部署上线的过程。支持30个版本的历史版本回溯。
-- 18、脚本任务:支持以GLUE模式开发和运行脚本任务,包括Shell、Python、NodeJS等类型脚本;
-- 19、任务依赖:支持配置子任务依赖,当父任务执行结束且执行成功后将会主动触发一次子任务的执行, 多个子任务用逗号分隔;
-- 20、一致性:“调度中心”通过DB锁保证集群分布式调度的一致性, 一次任务调度只会触发一次执行;
-- 21、自定义任务参数:支持在线配置调度任务入参,即时生效;
-- 22、调度线程池:调度系统多线程触发调度运行,确保调度精确执行,不被堵塞;
-- 23、数据加密:调度中心和执行器之间的通讯进行数据加密,提升调度信息安全性;
-- 24、邮件报警:任务失败时支持邮件报警,支持配置多邮件地址群发报警邮件;
-- 25、推送maven中央仓库: 将会把最新稳定版推送到maven中央仓库, 方便用户接入和使用;
-- 26、运行报表:支持实时查看运行数据,如任务数量、调度次数、执行器数量等;以及调度报表,如调度日期分布图,调度成功分布图等;
-- 27、全异步:系统底层实现全部异步化,针对密集调度进行流量削峰,理论上支持任意时长任务的运行;
-- 28、国际化:调度中心支持国际化设置,提供中文、英文两种可选语言,默认为中文;
+- 12、任务超时控制:支持设置任务超时时间,任务运行超时的情况下,将会主动中断任务;
+- 13、分片广播任务:执行器集群部署时,任务路由策略选择"分片广播"情况下,一次任务调度将会广播触发集群中所有执行器执行一次任务,可根据分片参数开发分片任务;
+- 14、动态分片:分片广播任务以执行器为维度进行分片,支持动态扩容执行器集群从而动态增加分片数量,协同进行业务处理;在进行大数据量业务操作时可显著提升任务处理能力和速度。
+- 15、事件触发:除了"Cron方式"和"任务依赖方式"触发任务执行之外,支持基于事件的触发任务方式。调度中心提供触发任务单次执行的API服务,可根据业务事件灵活触发。
+- 16、任务进度监控:支持实时监控任务进度;
+- 17、Rolling实时日志:支持在线查看调度结果,并且支持以Rolling方式实时查看执行器输出的完整的执行日志;
+- 18、GLUE:提供Web IDE,支持在线开发任务逻辑代码,动态发布,实时编译生效,省略部署上线的过程。支持30个版本的历史版本回溯。
+- 19、脚本任务:支持以GLUE模式开发和运行脚本任务,包括Shell、Python、NodeJS等类型脚本;
+- 20、任务依赖:支持配置子任务依赖,当父任务执行结束且执行成功后将会主动触发一次子任务的执行, 多个子任务用逗号分隔;
+- 21、一致性:“调度中心”通过DB锁保证集群分布式调度的一致性, 一次任务调度只会触发一次执行;
+- 22、自定义任务参数:支持在线配置调度任务入参,即时生效;
+- 23、调度线程池:调度系统多线程触发调度运行,确保调度精确执行,不被堵塞;
+- 24、数据加密:调度中心和执行器之间的通讯进行数据加密,提升调度信息安全性;
+- 25、邮件报警:任务失败时支持邮件报警,支持配置多邮件地址群发报警邮件;
+- 26、推送maven中央仓库: 将会把最新稳定版推送到maven中央仓库, 方便用户接入和使用;
+- 27、运行报表:支持实时查看运行数据,如任务数量、调度次数、执行器数量等;以及调度报表,如调度日期分布图,调度成功分布图等;
+- 28、全异步:系统底层实现全部异步化,针对密集调度进行流量削峰,理论上支持任意时长任务的运行;
+- 29、国际化:调度中心支持国际化设置,提供中文、英文两种可选语言,默认为中文;
+
## Development
于2015年中,我在github上创建XXL-JOB项目仓库并提交第一个commit,随之进行系统结构设计,UI选型,交互设计……
diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md
index 9bba9454..604c53e5 100644
--- a/doc/XXL-JOB官方文档.md
+++ b/doc/XXL-JOB官方文档.md
@@ -25,23 +25,25 @@ XXL-JOB是一个轻量级分布式任务调度框架,其核心设计目标是
- 9、失败处理策略;调度失败时的处理策略,策略包括:失败告警(默认)、失败重试;
- 10、失败重试:调度中心调度失败且启用"失败重试"策略时,将会自动重试一次;执行器执行失败且回调失败重试状态时,也将会自动重试一次;
- 11、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度;
-- 12、分片广播任务:执行器集群部署时,任务路由策略选择"分片广播"情况下,一次任务调度将会广播触发集群中所有执行器执行一次任务,可根据分片参数开发分片任务;
-- 13、动态分片:分片广播任务以执行器为维度进行分片,支持动态扩容执行器集群从而动态增加分片数量,协同进行业务处理;在进行大数据量业务操作时可显著提升任务处理能力和速度。
-- 14、事件触发:除了"Cron方式"和"任务依赖方式"触发任务执行之外,支持基于事件的触发任务方式。调度中心提供触发任务单次执行的API服务,可根据业务事件灵活触发。
-- 15、任务进度监控:支持实时监控任务进度;
-- 16、Rolling实时日志:支持在线查看调度结果,并且支持以Rolling方式实时查看执行器输出的完整的执行日志;
-- 17、GLUE:提供Web IDE,支持在线开发任务逻辑代码,动态发布,实时编译生效,省略部署上线的过程。支持30个版本的历史版本回溯。
-- 18、脚本任务:支持以GLUE模式开发和运行脚本任务,包括Shell、Python、NodeJS等类型脚本;
-- 19、任务依赖:支持配置子任务依赖,当父任务执行结束且执行成功后将会主动触发一次子任务的执行, 多个子任务用逗号分隔;
-- 20、一致性:“调度中心”通过DB锁保证集群分布式调度的一致性, 一次任务调度只会触发一次执行;
-- 21、自定义任务参数:支持在线配置调度任务入参,即时生效;
-- 22、调度线程池:调度系统多线程触发调度运行,确保调度精确执行,不被堵塞;
-- 23、数据加密:调度中心和执行器之间的通讯进行数据加密,提升调度信息安全性;
-- 24、邮件报警:任务失败时支持邮件报警,支持配置多邮件地址群发报警邮件;
-- 25、推送maven中央仓库: 将会把最新稳定版推送到maven中央仓库, 方便用户接入和使用;
-- 26、运行报表:支持实时查看运行数据,如任务数量、调度次数、执行器数量等;以及调度报表,如调度日期分布图,调度成功分布图等;
-- 27、全异步:系统底层实现全部异步化,针对密集调度进行流量削峰,理论上支持任意时长任务的运行;
-- 28、国际化:调度中心支持国际化设置,提供中文、英文两种可选语言,默认为中文;
+- 12、任务超时控制:支持设置任务超时时间,任务运行超时的情况下,将会主动中断任务;
+- 13、分片广播任务:执行器集群部署时,任务路由策略选择"分片广播"情况下,一次任务调度将会广播触发集群中所有执行器执行一次任务,可根据分片参数开发分片任务;
+- 14、动态分片:分片广播任务以执行器为维度进行分片,支持动态扩容执行器集群从而动态增加分片数量,协同进行业务处理;在进行大数据量业务操作时可显著提升任务处理能力和速度。
+- 15、事件触发:除了"Cron方式"和"任务依赖方式"触发任务执行之外,支持基于事件的触发任务方式。调度中心提供触发任务单次执行的API服务,可根据业务事件灵活触发。
+- 16、任务进度监控:支持实时监控任务进度;
+- 17、Rolling实时日志:支持在线查看调度结果,并且支持以Rolling方式实时查看执行器输出的完整的执行日志;
+- 18、GLUE:提供Web IDE,支持在线开发任务逻辑代码,动态发布,实时编译生效,省略部署上线的过程。支持30个版本的历史版本回溯。
+- 19、脚本任务:支持以GLUE模式开发和运行脚本任务,包括Shell、Python、NodeJS等类型脚本;
+- 20、任务依赖:支持配置子任务依赖,当父任务执行结束且执行成功后将会主动触发一次子任务的执行, 多个子任务用逗号分隔;
+- 21、一致性:“调度中心”通过DB锁保证集群分布式调度的一致性, 一次任务调度只会触发一次执行;
+- 22、自定义任务参数:支持在线配置调度任务入参,即时生效;
+- 23、调度线程池:调度系统多线程触发调度运行,确保调度精确执行,不被堵塞;
+- 24、数据加密:调度中心和执行器之间的通讯进行数据加密,提升调度信息安全性;
+- 25、邮件报警:任务失败时支持邮件报警,支持配置多邮件地址群发报警邮件;
+- 26、推送maven中央仓库: 将会把最新稳定版推送到maven中央仓库, 方便用户接入和使用;
+- 27、运行报表:支持实时查看运行数据,如任务数量、调度次数、执行器数量等;以及调度报表,如调度日期分布图,调度成功分布图等;
+- 28、全异步:系统底层实现全部异步化,针对密集调度进行流量削峰,理论上支持任意时长任务的运行;
+- 29、国际化:调度中心支持国际化设置,提供中文、英文两种可选语言,默认为中文;
+
### 1.3 发展
于2015年中,我在github上创建XXL-JOB项目仓库并提交第一个commit,随之进行系统结构设计,UI选型,交互设计……
@@ -948,6 +950,11 @@ echo "分片总数 total = $3"
失败 | IJobHandler.FAIL | -1(其他)
失败重试 | IJobHandler.FAIL_RETRY | 101
+### 5.16 任务超时控制
+支持设置任务超时时间,任务运行超时的情况下,将会主动中断任务;
+
+需要注意的是,任务超时中断时与任务终止机制(可查看“4.8 终止运行中的任务”)类似,也是通过 "interrupt" 中断任务,因此业务代码需要将 "InterruptedException" 外抛,否则功能不可用。
+
## 六、版本更新日志
### 6.1 版本 V1.1.x,新特性[2015-12-05]
@@ -1209,7 +1216,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
### 6.22 版本 V1.9.2 特性[迭代中]
- 1、[迭代中]支持通过API服务操作任务信息;
- 2、[迭代中]任务告警逻辑调整:任务调度,以及任务回调失败时,均推送监控队列。后期考虑通过任务Log字段控制告警状态;
-- 3、[迭代中]任务超时设置,超时任务主动终止;
+- 3、任务超时控制:支持设置任务超时时间,任务运行超时的情况下,将会主动中断任务;
- 4、任务属性枚举 "任务模式、阻塞策略" 国际化优化;
- 5、任务日志表状态字段类型优化;
- 6、Glue(Shell) 等脚本任务支持失败重试;
diff --git a/doc/db/tables_xxl_job.sql b/doc/db/tables_xxl_job.sql
index 3ac0d982..1335d3f9 100644
--- a/doc/db/tables_xxl_job.sql
+++ b/doc/db/tables_xxl_job.sql
@@ -158,12 +158,12 @@ CREATE TABLE `XXL_JOB_QRTZ_TRIGGER_INFO` (
`update_time` datetime DEFAULT NULL,
`author` varchar(64) DEFAULT NULL COMMENT '作者',
`alarm_email` varchar(255) DEFAULT NULL COMMENT '报警邮件',
- `execute_timeout` int(11) NOT NULL DEFAULT 0 COMMENT '任务执行超时时间',
`executor_route_strategy` varchar(50) DEFAULT NULL COMMENT '执行器路由策略',
`executor_handler` varchar(255) DEFAULT NULL COMMENT '执行器任务handler',
`executor_param` varchar(512) DEFAULT NULL COMMENT '执行器任务参数',
`executor_block_strategy` varchar(50) DEFAULT NULL COMMENT '阻塞处理策略',
`executor_fail_strategy` varchar(50) DEFAULT NULL COMMENT '失败处理策略',
+ `executor_timeout` int(11) NOT NULL DEFAULT 0 COMMENT '任务执行超时时间,单位秒',
`glue_type` varchar(50) NOT NULL COMMENT 'GLUE类型',
`glue_source` text COMMENT 'GLUE源代码',
`glue_remark` varchar(128) DEFAULT NULL COMMENT 'GLUE备注',
diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobInfo.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobInfo.java
index 01c5227f..b389d20d 100644
--- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobInfo.java
+++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobInfo.java
@@ -4,6 +4,7 @@ import java.util.Date;
/**
* xxl-job info
+ *
* @author xuxueli 2016-1-12 18:25:49
*/
public class XxlJobInfo {
@@ -25,6 +26,7 @@ public class XxlJobInfo {
private String executorParam; // 执行器,任务参数
private String executorBlockStrategy; // 阻塞处理策略
private String executorFailStrategy; // 失败处理策略
+ private int executorTimeout; // 任务执行超时时间,单位秒
private String glueType; // GLUE类型 #com.xxl.job.core.glue.GlueTypeEnum
private String glueSource; // GLUE源代码
@@ -36,16 +38,6 @@ public class XxlJobInfo {
// copy from quartz
private String jobStatus; // 任务状态 【base on quartz】
- private int executeTimeout; // 任务最多执行时间,超时后报警
-
- public int getExecuteTimeout() {
- return executeTimeout;
- }
-
- public void setExecuteTimeout(int executeTimeout) {
- this.executeTimeout = executeTimeout;
- }
-
public int getId() {
return id;
@@ -111,15 +103,15 @@ public class XxlJobInfo {
this.alarmEmail = alarmEmail;
}
- public String getExecutorRouteStrategy() {
- return executorRouteStrategy;
- }
+ public String getExecutorRouteStrategy() {
+ return executorRouteStrategy;
+ }
- public void setExecutorRouteStrategy(String executorRouteStrategy) {
- this.executorRouteStrategy = executorRouteStrategy;
- }
+ public void setExecutorRouteStrategy(String executorRouteStrategy) {
+ this.executorRouteStrategy = executorRouteStrategy;
+ }
- public String getExecutorHandler() {
+ public String getExecutorHandler() {
return executorHandler;
}
@@ -151,6 +143,14 @@ public class XxlJobInfo {
this.executorFailStrategy = executorFailStrategy;
}
+ public int getExecutorTimeout() {
+ return executorTimeout;
+ }
+
+ public void setExecutorTimeout(int executorTimeout) {
+ this.executorTimeout = executorTimeout;
+ }
+
public String getGlueType() {
return glueType;
}
diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/trigger/XxlJobTrigger.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/trigger/XxlJobTrigger.java
index 76811ec2..a4ca6dab 100644
--- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/trigger/XxlJobTrigger.java
+++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/trigger/XxlJobTrigger.java
@@ -75,6 +75,7 @@ public class XxlJobTrigger {
triggerMsgSb.append("
").append(I18nUtil.getString("jobinfo_field_executorRouteStrategy")).append(":").append(executorRouteStrategyEnum.getTitle()).append("("+i+"/"+addressList.size()+")"); // update01
triggerMsgSb.append("
").append(I18nUtil.getString("jobinfo_field_executorBlockStrategy")).append(":").append(blockStrategy.getTitle());
triggerMsgSb.append("
").append(I18nUtil.getString("jobinfo_field_executorFailStrategy")).append(":").append(failStrategy.getTitle());
+ triggerMsgSb.append("
").append(I18nUtil.getString("jobinfo_field_timeout")).append(":").append(jobInfo.getExecutorTimeout());
// 3、trigger-valid
if (triggerResult.getCode()==ReturnT.SUCCESS_CODE && CollectionUtils.isEmpty(addressList)) {
@@ -89,6 +90,7 @@ public class XxlJobTrigger {
triggerParam.setExecutorHandler(jobInfo.getExecutorHandler());
triggerParam.setExecutorParams(jobInfo.getExecutorParam());
triggerParam.setExecutorBlockStrategy(jobInfo.getExecutorBlockStrategy());
+ triggerParam.setExecutorTimeout(jobInfo.getExecutorTimeout());
triggerParam.setLogId(jobLog.getId());
triggerParam.setLogDateTim(jobLog.getTriggerTime().getTime());
triggerParam.setGlueType(jobInfo.getGlueType());
@@ -96,8 +98,6 @@ public class XxlJobTrigger {
triggerParam.setGlueUpdatetime(jobInfo.getGlueUpdatetime().getTime());
triggerParam.setBroadcastIndex(i);
triggerParam.setBroadcastTotal(addressList.size()); // update02
- // 执行超时时间
- triggerParam.setExecuteTimeout(jobInfo.getExecuteTimeout());
// 4.2、trigger-run (route run / trigger remote executor)
triggerResult = runExecutor(triggerParam, address); // update03
@@ -145,6 +145,7 @@ public class XxlJobTrigger {
triggerMsgSb.append("
").append(I18nUtil.getString("jobinfo_field_executorRouteStrategy")).append(":").append(executorRouteStrategyEnum.getTitle());
triggerMsgSb.append("
").append(I18nUtil.getString("jobinfo_field_executorBlockStrategy")).append(":").append(blockStrategy.getTitle());
triggerMsgSb.append("
").append(I18nUtil.getString("jobinfo_field_executorFailStrategy")).append(":").append(failStrategy.getTitle());
+ triggerMsgSb.append("
").append(I18nUtil.getString("jobinfo_field_timeout")).append(":").append(jobInfo.getExecutorTimeout());
// 3、trigger-valid
if (triggerResult.getCode()==ReturnT.SUCCESS_CODE && CollectionUtils.isEmpty(addressList)) {
@@ -159,6 +160,7 @@ public class XxlJobTrigger {
triggerParam.setExecutorHandler(jobInfo.getExecutorHandler());
triggerParam.setExecutorParams(jobInfo.getExecutorParam());
triggerParam.setExecutorBlockStrategy(jobInfo.getExecutorBlockStrategy());
+ triggerParam.setExecutorTimeout(jobInfo.getExecutorTimeout());
triggerParam.setLogId(jobLog.getId());
triggerParam.setLogDateTim(jobLog.getTriggerTime().getTime());
triggerParam.setGlueType(jobInfo.getGlueType());
@@ -166,7 +168,6 @@ public class XxlJobTrigger {
triggerParam.setGlueUpdatetime(jobInfo.getGlueUpdatetime().getTime());
triggerParam.setBroadcastIndex(0);
triggerParam.setBroadcastTotal(1);
- triggerParam.setExecuteTimeout(jobInfo.getExecuteTimeout());
// 4.2、trigger-run (route run / trigger remote executor)
triggerResult = executorRouteStrategyEnum.getRouter().routeRun(triggerParam, addressList);
diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java
index 3873157f..30ce3c46 100644
--- a/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java
+++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java
@@ -208,6 +208,7 @@ public class XxlJobServiceImpl implements XxlJobService {
exists_jobInfo.setExecutorParam(jobInfo.getExecutorParam());
exists_jobInfo.setExecutorBlockStrategy(jobInfo.getExecutorBlockStrategy());
exists_jobInfo.setExecutorFailStrategy(jobInfo.getExecutorFailStrategy());
+ exists_jobInfo.setExecutorTimeout(jobInfo.getExecutorTimeout());
exists_jobInfo.setChildJobId(jobInfo.getChildJobId());
xxlJobInfoDao.update(exists_jobInfo);
diff --git a/xxl-job-admin/src/main/resources/i18n/message.properties b/xxl-job-admin/src/main/resources/i18n/message.properties
index 509fb178..6381028d 100644
--- a/xxl-job-admin/src/main/resources/i18n/message.properties
+++ b/xxl-job-admin/src/main/resources/i18n/message.properties
@@ -30,6 +30,7 @@ system_opt_del=删除
system_unvalid=非法
system_not_found=不存在
system_nav=导航
+system_digits=整数
## daterangepicker
daterangepicker_ranges_recent_hour=最近一小时
@@ -107,7 +108,7 @@ jobinfo_field_gluetype=运行模式
jobinfo_field_executorparam=任务参数
jobinfo_field_cron_unvalid=Cron格式非法
jobinfo_field_author=负责人
-jobinfo_field_timeout=最大执行时间
+jobinfo_field_timeout=任务超时时间
jobinfo_field_alarmemail=报警邮件
jobinfo_field_alarmemail_placeholder=请输入报警邮件,多个邮件地址则逗号分隔
jobinfo_field_executorRouteStrategy=路由策略
@@ -158,7 +159,7 @@ joblog_clean_type_9=清理所有日志数据
joblog_clean_type_unvalid=清理类型参数异常
joblog_handleCode_200=成功
joblog_handleCode_500=失败
-joblog_handleCode_400=超时
+joblog_handleCode_502=超时
joblog_handleCode_501=失败重试
joblog_kill_log=终止任务
joblog_kill_log_limit=调度失败,无法终止日志
diff --git a/xxl-job-admin/src/main/resources/i18n/message_en.properties b/xxl-job-admin/src/main/resources/i18n/message_en.properties
index 66f88e71..47c6c47f 100644
--- a/xxl-job-admin/src/main/resources/i18n/message_en.properties
+++ b/xxl-job-admin/src/main/resources/i18n/message_en.properties
@@ -30,6 +30,7 @@ system_opt_del=Delete
system_unvalid=illegal
system_not_found=not exist
system_nav=Navigation
+system_digits=digits
## daterangepicker
daterangepicker_ranges_recent_hour=recent one hour
@@ -103,7 +104,7 @@ jobinfo_field_update=Edit Job
jobinfo_field_id=Job ID
jobinfo_field_jobgroup=Executor
jobinfo_field_jobdesc=Job description
-jobinfo_field_timeout=Max execute time
+jobinfo_field_timeout=Job timeout period
jobinfo_field_gluetype=GLUE Type
jobinfo_field_executorparam=Param
jobinfo_field_cron_unvalid=The Cron is illegal
@@ -158,7 +159,7 @@ joblog_clean_type_9=Clean up all log data
joblog_clean_type_unvalid=Clean type is illegal
joblog_handleCode_200=Success
joblog_handleCode_500=Fail
-joblog_handleCode_400=Timeout
+joblog_handleCode_502=Timeout
joblog_handleCode_501=Fail retry
joblog_kill_log=Kill Job
joblog_kill_log_limit=Trigger Fail, can not kill job
diff --git a/xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobInfoMapper.xml b/xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobInfoMapper.xml
index 517e0697..37cf1cd6 100644
--- a/xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobInfoMapper.xml
+++ b/xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobInfoMapper.xml
@@ -21,12 +21,12 @@
+
-
@@ -45,11 +45,11 @@
t.executor_param,
t.executor_block_strategy,
t.executor_fail_strategy,
+ t.executor_timeout,
t.glue_type,
t.glue_source,
t.glue_remark,
t.glue_updatetime,
- t.execute_timeout,
t.child_jobid
@@ -101,12 +101,12 @@
executor_param,
executor_block_strategy,
executor_fail_strategy,
+ executor_timeout,
glue_type,
glue_source,
glue_remark,
glue_updatetime,
- child_jobid,
- execute_timeout
+ child_jobid
) VALUES (
#{jobGroup},
#{jobCron},
@@ -120,12 +120,12 @@
#{executorParam},
#{executorBlockStrategy},
#{executorFailStrategy},
+ #{executorTimeout},
#{glueType},
#{glueSource},
#{glueRemark},
NOW(),
- #{childJobId},
- #{executeTimeout}
+ #{childJobId}
);