From 669e12e869830f58a61b6f653343127a2e12a3aa Mon Sep 17 00:00:00 2001 From: tune Date: Fri, 9 Aug 2019 22:36:31 +0800 Subject: [PATCH 01/34] Fixed: mysql emoji issue MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CHARSET: utf8 → utf8mb4 --- doc/db/tables_xxl_job.sql | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/db/tables_xxl_job.sql b/doc/db/tables_xxl_job.sql index 783df0cb..8ebce3f1 100644 --- a/doc/db/tables_xxl_job.sql +++ b/doc/db/tables_xxl_job.sql @@ -2,7 +2,7 @@ # XXL-JOB v2.1.1-SNAPSHOT # Copyright (c) 2015-present, xuxueli. -CREATE database if NOT EXISTS `xxl_job` default character set utf8 collate utf8_general_ci; +CREATE database if NOT EXISTS `xxl_job` default character set utf8mb4 collate utf8mb4_general_ci; use `xxl_job`; @@ -30,7 +30,7 @@ CREATE TABLE `xxl_job_info` ( `trigger_last_time` bigint(13) NOT NULL DEFAULT '0' COMMENT '上次调度时间', `trigger_next_time` bigint(13) NOT NULL DEFAULT '0' COMMENT '下次调度时间', PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE `xxl_job_log` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, @@ -51,7 +51,7 @@ CREATE TABLE `xxl_job_log` ( PRIMARY KEY (`id`), KEY `I_trigger_time` (`trigger_time`), KEY `I_handle_code` (`handle_code`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE `xxl_job_logglue` ( `id` int(11) NOT NULL AUTO_INCREMENT, @@ -62,7 +62,7 @@ CREATE TABLE `xxl_job_logglue` ( `add_time` timestamp NULL DEFAULT NULL, `update_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE `xxl_job_registry` ( `id` int(11) NOT NULL AUTO_INCREMENT, @@ -72,7 +72,7 @@ CREATE TABLE `xxl_job_registry` ( `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `i_g_k_v` (`registry_group`,`registry_key`,`registry_value`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE `xxl_job_group` ( `id` int(11) NOT NULL AUTO_INCREMENT, @@ -82,7 +82,7 @@ CREATE TABLE `xxl_job_group` ( `address_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '执行器地址类型:0=自动注册、1=手动录入', `address_list` varchar(512) DEFAULT NULL COMMENT '执行器地址列表,多地址逗号分隔', PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE `xxl_job_user` ( `id` int(11) NOT NULL AUTO_INCREMENT, @@ -92,12 +92,12 @@ CREATE TABLE `xxl_job_user` ( `permission` varchar(255) DEFAULT NULL COMMENT '权限:执行器ID列表,多个逗号分割', PRIMARY KEY (`id`), UNIQUE KEY `i_username` (`username`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE `xxl_job_lock` ( `lock_name` varchar(50) NOT NULL COMMENT '锁名称', PRIMARY KEY (`lock_name`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; INSERT INTO `xxl_job_group`(`id`, `app_name`, `title`, `order`, `address_type`, `address_list`) VALUES (1, 'xxl-job-executor-sample', '示例执行器', 1, 0, NULL); From 7f969ae12cafd0966e997c7451a814bfe4479a26 Mon Sep 17 00:00:00 2001 From: wang_yangbj Date: Thu, 15 Aug 2019 15:28:56 +0800 Subject: [PATCH 02/34] =?UTF-8?q?=E4=BF=AE=E6=AD=A3TriggerParam=E7=9A=84Lo?= =?UTF-8?q?gDateTim=E4=B8=BALogDateTime?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xxl/job/admin/core/trigger/XxlJobTrigger.java | 2 +- .../java/com/xxl/job/executor/ExecutorBizTest.java | 2 +- .../com/xxl/job/core/biz/model/TriggerParam.java | 12 ++++++------ .../main/java/com/xxl/job/core/thread/JobThread.java | 8 ++++---- .../xxl/job/core/biz/impl/ExecutorBizImplTest.java | 2 +- 5 files changed, 13 insertions(+), 13 deletions(-) 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 7b3971c7..07443ebc 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 @@ -116,7 +116,7 @@ public class XxlJobTrigger { triggerParam.setExecutorBlockStrategy(jobInfo.getExecutorBlockStrategy()); triggerParam.setExecutorTimeout(jobInfo.getExecutorTimeout()); triggerParam.setLogId(jobLog.getId()); - triggerParam.setLogDateTim(jobLog.getTriggerTime().getTime()); + triggerParam.setLogDateTime(jobLog.getTriggerTime().getTime()); triggerParam.setGlueType(jobInfo.getGlueType()); triggerParam.setGlueSource(jobInfo.getGlueSource()); triggerParam.setGlueUpdatetime(jobInfo.getGlueUpdatetime().getTime()); diff --git a/xxl-job-admin/src/test/java/com/xxl/job/executor/ExecutorBizTest.java b/xxl-job-admin/src/test/java/com/xxl/job/executor/ExecutorBizTest.java index d3914d3e..39b1c081 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/executor/ExecutorBizTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/executor/ExecutorBizTest.java @@ -45,7 +45,7 @@ public class ExecutorBizTest { triggerParam.setGlueSource(null); triggerParam.setGlueUpdatetime(System.currentTimeMillis()); triggerParam.setLogId(1); - triggerParam.setLogDateTim(System.currentTimeMillis()); + triggerParam.setLogDateTime(System.currentTimeMillis()); // do remote trigger String accessToken = null; diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/biz/model/TriggerParam.java b/xxl-job-core/src/main/java/com/xxl/job/core/biz/model/TriggerParam.java index a711b044..4f56368a 100644 --- a/xxl-job-core/src/main/java/com/xxl/job/core/biz/model/TriggerParam.java +++ b/xxl-job-core/src/main/java/com/xxl/job/core/biz/model/TriggerParam.java @@ -16,7 +16,7 @@ public class TriggerParam implements Serializable{ private int executorTimeout; private long logId; - private long logDateTim; + private long logDateTime; private String glueType; private String glueSource; @@ -74,12 +74,12 @@ public class TriggerParam implements Serializable{ this.logId = logId; } - public long getLogDateTim() { - return logDateTim; + public long getLogDateTime() { + return logDateTime; } - public void setLogDateTim(long logDateTim) { - this.logDateTim = logDateTim; + public void setLogDateTime(long logDateTime) { + this.logDateTime = logDateTime; } public String getGlueType() { @@ -132,7 +132,7 @@ public class TriggerParam implements Serializable{ ", executorBlockStrategy='" + executorBlockStrategy + '\'' + ", executorTimeout=" + executorTimeout + ", logId=" + logId + - ", logDateTim=" + logDateTim + + ", logDateTime=" + logDateTime + ", glueType='" + glueType + '\'' + ", glueSource='" + glueSource + '\'' + ", glueUpdatetime=" + glueUpdatetime + diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java b/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java index 866670ec..dd8555f0 100644 --- a/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java +++ b/xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java @@ -116,7 +116,7 @@ public class JobThread extends Thread{ triggerLogIdSet.remove(triggerParam.getLogId()); // log filename, like "logPath/yyyy-MM-dd/9999.log" - String logFileName = XxlJobFileAppender.makeLogFileName(new Date(triggerParam.getLogDateTim()), triggerParam.getLogId()); + String logFileName = XxlJobFileAppender.makeLogFileName(new Date(triggerParam.getLogDateTime()), triggerParam.getLogId()); XxlJobFileAppender.contextHolder.set(logFileName); ShardingUtil.setShardingVo(new ShardingUtil.ShardingVO(triggerParam.getBroadcastIndex(), triggerParam.getBroadcastTotal())); @@ -184,11 +184,11 @@ public class JobThread extends Thread{ // callback handler info if (!toStop) { // commonm - TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), triggerParam.getLogDateTim(), executeResult)); + TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), triggerParam.getLogDateTime(), executeResult)); } else { // is killed ReturnT stopResult = new ReturnT(ReturnT.FAIL_CODE, stopReason + " [job running,killed]"); - TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), triggerParam.getLogDateTim(), stopResult)); + TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), triggerParam.getLogDateTime(), stopResult)); } } } @@ -200,7 +200,7 @@ public class JobThread extends Thread{ if (triggerParam!=null) { // is killed ReturnT stopResult = new ReturnT(ReturnT.FAIL_CODE, stopReason + " [job not executed, in the job queue, killed.]"); - TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), triggerParam.getLogDateTim(), stopResult)); + TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), triggerParam.getLogDateTime(), stopResult)); } } diff --git a/xxl-job-core/src/test/java/com/xxl/job/core/biz/impl/ExecutorBizImplTest.java b/xxl-job-core/src/test/java/com/xxl/job/core/biz/impl/ExecutorBizImplTest.java index cde3ddd4..acc03603 100644 --- a/xxl-job-core/src/test/java/com/xxl/job/core/biz/impl/ExecutorBizImplTest.java +++ b/xxl-job-core/src/test/java/com/xxl/job/core/biz/impl/ExecutorBizImplTest.java @@ -131,7 +131,7 @@ public class ExecutorBizImplTest { triggerParam.setGlueSource(null); triggerParam.setGlueUpdatetime(System.currentTimeMillis()); triggerParam.setLogId(1); - triggerParam.setLogDateTim(System.currentTimeMillis()); + triggerParam.setLogDateTime(System.currentTimeMillis()); // Act final ReturnT retval = executorBiz.run(triggerParam); From 80333db80ef083c7b83853bd4672abbcacaeb4b9 Mon Sep 17 00:00:00 2001 From: jzl Date: Mon, 14 Oct 2019 09:43:32 +0800 Subject: [PATCH 03/34] Create XxlJobAdminBean --- .../xxl/job/admin/core/conf/XxlJobAdminBean | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 xxl-job-admin/src/main/java/com/xxl/job/admin/core/conf/XxlJobAdminBean diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/conf/XxlJobAdminBean b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/conf/XxlJobAdminBean new file mode 100644 index 00000000..32b78eae --- /dev/null +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/conf/XxlJobAdminBean @@ -0,0 +1,27 @@ +package com.xxl.job.admin.conf; + +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * @Auther: zhuolin.ji + * @Date: 2019/10/12 18:08 + * @Package: com.xxl.job.admin.conf + * @Description: + */ +@Configuration +public class XxlJobAdminBean { + + @Bean(name = "xxlJobAdminConfig") + public XxlJobAdminConfig getXxlJobAdminConfig() { + return new XxlJobAdminConfig(); + } + + @Bean(initMethod = "init", destroyMethod = "destroy") + public XxlJobScheduler getXxlJobScheduler(@Qualifier(value = "xxlJobAdminConfig") XxlJobAdminConfig xxlJobAdminConfig) { + XxlJobAdminConfig.setAdminConfig(xxlJobAdminConfig); + return new XxlJobScheduler(); + } + +} From 76b2316e17bf4fb3cc324722e7cba0487a8f5cb9 Mon Sep 17 00:00:00 2001 From: jzl Date: Mon, 14 Oct 2019 09:44:37 +0800 Subject: [PATCH 04/34] Update XxlJobAdminConfig.java --- .../com/xxl/job/admin/core/conf/XxlJobAdminConfig.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/conf/XxlJobAdminConfig.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/conf/XxlJobAdminConfig.java index 1e348a32..8eb91da6 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/conf/XxlJobAdminConfig.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/conf/XxlJobAdminConfig.java @@ -18,16 +18,15 @@ import javax.sql.DataSource; * * @author xuxueli 2017-04-28 */ -@Component -public class XxlJobAdminConfig implements InitializingBean{ + +public class XxlJobAdminConfig { private static XxlJobAdminConfig adminConfig = null; public static XxlJobAdminConfig getAdminConfig() { return adminConfig; } - @Override - public void afterPropertiesSet() throws Exception { - adminConfig = this; + public static void setAdminConfig(XxlJobAdminConfig config) { + XxlJobAdminConfig.adminConfig = config; } // conf From 49d7c97a2e4468ce5d4292e78eae6276e0e13315 Mon Sep 17 00:00:00 2001 From: jzl Date: Mon, 14 Oct 2019 09:46:08 +0800 Subject: [PATCH 05/34] Update XxlJobScheduler.java --- .../com/xxl/job/admin/core/conf/XxlJobScheduler.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/conf/XxlJobScheduler.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/conf/XxlJobScheduler.java index 8b51d51b..52deb23e 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/conf/XxlJobScheduler.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/conf/XxlJobScheduler.java @@ -33,14 +33,13 @@ import java.util.concurrent.ConcurrentMap; /** * @author xuxueli 2018-10-28 00:18:17 */ -@Component -@DependsOn("xxlJobAdminConfig") -public class XxlJobScheduler implements InitializingBean, DisposableBean { + +public class XxlJobScheduler { private static final Logger logger = LoggerFactory.getLogger(XxlJobScheduler.class); - @Override - public void afterPropertiesSet() throws Exception { + + public void init() throws Exception { // init i18n initI18n(); @@ -59,7 +58,7 @@ public class XxlJobScheduler implements InitializingBean, DisposableBean { logger.info(">>>>>>>>> init xxl-job admin success."); } - @Override + public void destroy() throws Exception { // stop-schedule From fe0e3c7417d9b466f30e98eb7ec7048db415bdd2 Mon Sep 17 00:00:00 2001 From: xuxueli <931591021@qq.com> Date: Fri, 8 Nov 2019 09:35:56 +0800 Subject: [PATCH 06/34] update document --- doc/XXL-JOB官方文档.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index 3eab136f..fce70299 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -922,8 +922,8 @@ XXL-JOB的每个调度任务虽然在调度模块是并行调度执行的,但 任务调度错过触发时间时的处理策略: - 可能原因:服务重启;调度线程被阻塞,线程被耗尽;上次调度持续阻塞,下次调度被错过; - 处理策略: - - 过期超5s:本地忽略,当前时间开始计算下次触发时间 - - 过期超过5s:过期5s内:立即触发一次,当前时间开始计算下次触发时间 + - 过期超5s:本次忽略,当前时间开始计算下次触发时间 + - 过期5s内:立即触发一次,当前时间开始计算下次触发时间 #### 5.4.7 日志回调服务 From 0ed33e7be755d2aaca2abd8b8f9fff7912035080 Mon Sep 17 00:00:00 2001 From: xuxueli <931591021@qq.com> Date: Mon, 11 Nov 2019 17:47:25 +0800 Subject: [PATCH 07/34] update document --- doc/XXL-JOB官方文档.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index fce70299..2ebc7581 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -1113,7 +1113,7 @@ API服务请求参考代码:com.xxl.job.adminbiz.AdminBizTest.java 7、任务触发; API服务位置:com.xxl.job.admin.controller.JobInfoController.java -API服务请求参考代码:可参考任务界面操作的ajax请求。任何ajax接口均可配置成为API服务,只需在待启用的API服务上添加 “@PermessionLimit(limit = false)” 注解取消登陆态拦截即可; +API服务请求参考代码:可参考任务界面操作的ajax请求。任何ajax接口均可配置成为API服务,只需在待启用的API服务上添加 “@PermissionLimit(limit = false)” 注解取消登陆态拦截即可; ### 5.12 执行器API服务 执行器提供了API服务,供调度中心选择使用,目前提供的API服务有: From aebb7b73bc96f74823458e78a601cfd54d4ea016 Mon Sep 17 00:00:00 2001 From: xuxueli <931591021@qq.com> Date: Mon, 11 Nov 2019 19:28:22 +0800 Subject: [PATCH 08/34] update document --- doc/XXL-JOB官方文档.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index 2ebc7581..a029b958 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -1604,6 +1604,8 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段 - 26、调度中心JDK版本调整为JDK8,从而升级至最新版本SpringBoot; - 27、执行器服务端口与注册端口分离,支持docker动态随机端口; - 28、执行器端口复用,复用容器端口提供通讯服务; +- 29、自定义失败重试时间间隔; += 30、分片任务全部成功后触发子任务; ## 七、其他 From 792790508376f67639efa8a9a66c46a946a71c1d Mon Sep 17 00:00:00 2001 From: xuxueli <931591021@qq.com> Date: Wed, 13 Nov 2019 17:59:28 +0800 Subject: [PATCH 09/34] update document --- .../com/xxl/job/admin/core/thread/JobScheduleHelper.java | 9 ++------- .../main/resources/mybatis-mapper/XxlJobInfoMapper.xml | 2 +- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java index 8e451c53..817d02bd 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java @@ -88,20 +88,15 @@ public class JobScheduleHelper { } else if (nowTime > jobInfo.getTriggerNextTime()) { // 2.2、trigger-expire < 5s:direct-trigger && make next-trigger-time - CronExpression cronExpression = new CronExpression(jobInfo.getJobCron()); - long nextTime = cronExpression.getNextValidTimeAfter(new Date()).getTime(); - // 1、trigger JobTriggerPoolHelper.trigger(jobInfo.getId(), TriggerTypeEnum.CRON, -1, null, null); logger.debug(">>>>>>>>>>> xxl-job, shecule push trigger : jobId = " + jobInfo.getId() ); // 2、fresh next - jobInfo.setTriggerLastTime(jobInfo.getTriggerNextTime()); - jobInfo.setTriggerNextTime(nextTime); - + refreshNextValidTime(jobInfo, new Date(jobInfo.getTriggerNextTime())); // next-trigger-time in 5s, pre-read again - if (jobInfo.getTriggerNextTime() - nowTime < PRE_READ_MS) { + if (jobInfo.getTriggerStatus()==1 && nowTime + PRE_READ_MS > jobInfo.getTriggerNextTime()) { // 1、make ring second int ringSecond = (int)((jobInfo.getTriggerNextTime()/1000)%60); 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 0407011a..058ff71f 100644 --- a/xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobInfoMapper.xml +++ b/xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobInfoMapper.xml @@ -212,7 +212,7 @@ SELECT FROM xxl_job_info AS t WHERE t.trigger_status = 1 - and t.trigger_next_time #{maxNextTime} + and t.trigger_next_time #{maxNextTime} From 7fe1c7d065ce66fe39687ce75d0c7367a53edbfc Mon Sep 17 00:00:00 2001 From: xuxueli <931591021@qq.com> Date: Wed, 13 Nov 2019 18:06:17 +0800 Subject: [PATCH 10/34] update document --- .../java/com/xxl/job/admin/core/thread/JobScheduleHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java index 817d02bd..4be8a6e0 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java @@ -93,7 +93,7 @@ public class JobScheduleHelper { logger.debug(">>>>>>>>>>> xxl-job, shecule push trigger : jobId = " + jobInfo.getId() ); // 2、fresh next - refreshNextValidTime(jobInfo, new Date(jobInfo.getTriggerNextTime())); + refreshNextValidTime(jobInfo, new Date()); // next-trigger-time in 5s, pre-read again if (jobInfo.getTriggerStatus()==1 && nowTime + PRE_READ_MS > jobInfo.getTriggerNextTime()) { From 2a7b500930e26031a369bacfac8d58cd448ac9ee Mon Sep 17 00:00:00 2001 From: xuxueli <931591021@qq.com> Date: Fri, 15 Nov 2019 17:04:45 +0800 Subject: [PATCH 11/34] update document --- README.md | 10 ++++++++++ doc/XXL-JOB官方文档.md | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/README.md b/README.md index 1a741326..f36f0e6c 100644 --- a/README.md +++ b/README.md @@ -378,6 +378,16 @@ XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是 - 259、爱乐优(二手平台) - 260、猫眼电影(私有化部署)【猫眼电影】 - 261、美团大象(私有化部署)【美团大象】 + - 262、作业帮教育科技(北京)有限公司【作业帮】 + - 263、北京小年糕互联网技术有限公司 + - 264、山东矩阵软件工程股份有限公司 + - 265、陕西国驿软件科技有限公司 + - 266、君开信息科技 + - 267、村鸟网络科技有限责任公司 + - 268、云南国际信托有限公司 + - 269、金智教育 + - 270、珠海市筑巢科技有限公司 + - 271、上海百胜软件股份有限公司 - …… > 更多接入的公司,欢迎在 [登记地址](https://github.com/xuxueli/xxl-job/issues/1 ) 登记,登记仅仅为了产品推广。 diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index a029b958..d63c9709 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -346,6 +346,16 @@ XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是 - 259、爱乐优(二手平台) - 260、猫眼电影(私有化部署)【猫眼电影】 - 261、美团大象(私有化部署)【美团大象】 + - 262、作业帮教育科技(北京)有限公司【作业帮】 + - 263、北京小年糕互联网技术有限公司 + - 264、山东矩阵软件工程股份有限公司 + - 265、陕西国驿软件科技有限公司 + - 266、君开信息科技 + - 267、村鸟网络科技有限责任公司 + - 268、云南国际信托有限公司 + - 269、金智教育 + - 270、珠海市筑巢科技有限公司 + - 271、上海百胜软件股份有限公司 - …… > 更多接入的公司,欢迎在 [登记地址](https://github.com/xuxueli/xxl-job/issues/1 ) 登记,登记仅仅为了产品推广。 From a7266f49330d724b218c6d99915d92232c09ff30 Mon Sep 17 00:00:00 2001 From: xuxueli <931591021@qq.com> Date: Fri, 15 Nov 2019 17:49:22 +0800 Subject: [PATCH 12/34] update document --- doc/XXL-JOB官方文档.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index d63c9709..939f6a57 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -1599,7 +1599,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段 - 11、失败重试间隔; - 12、SimpleTrigger:除Cron外,支持设置固定时间间隔触发; - 13、调度日志列表加上执行时长列,并支持排序; -- 14、DAG流程任务:替换子任务,支持参数传递:配置并列的"a-b、b-c"路径列表,构成串行、并行、dag任务流程,"dagre-d3"绘图;任务依赖,流程图,子任务+会签任务,各节点日志; +- 14、DAG流程任务:替换子任务,支持参数传递:配置并列的"a-b、b-c"路径列表,构成串行、并行、dag任务流程,"dagre-d3"绘图;任务依赖,流程图,子任务+会签任务,各节点日志;支持根据成功、失败选择分支; - 15、日期过滤:支持多个时间段排除; - 16、告警邮件内容,支持自定义模板配置; - 17、暂停状态,支持Cron 为空; @@ -1615,7 +1615,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段 - 27、执行器服务端口与注册端口分离,支持docker动态随机端口; - 28、执行器端口复用,复用容器端口提供通讯服务; - 29、自定义失败重试时间间隔; -= 30、分片任务全部成功后触发子任务; +- 30、分片任务全部成功后触发子任务; ## 七、其他 From 68c0c9e871cbd5049d6c964c0d8127cdd5f5aede Mon Sep 17 00:00:00 2001 From: xuxueli <931591021@qq.com> Date: Fri, 15 Nov 2019 18:22:48 +0800 Subject: [PATCH 13/34] update document --- doc/XXL-JOB官方文档.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index 939f6a57..92d49615 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -1616,6 +1616,8 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段 - 28、执行器端口复用,复用容器端口提供通讯服务; - 29、自定义失败重试时间间隔; - 30、分片任务全部成功后触发子任务; +- 31、任务复制功能;点击复制是弹出新建任务弹框,并初始化被复制任务信息; +- 32、AccessToken按照执行器维度设置;控制调度、回调; ## 七、其他 From 982ef3962ce79882b71174e241b3b00daf491a8f Mon Sep 17 00:00:00 2001 From: xuxueli <931591021@qq.com> Date: Fri, 15 Nov 2019 18:39:58 +0800 Subject: [PATCH 14/34] update document --- doc/XXL-JOB官方文档.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index 92d49615..a8032475 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -1618,6 +1618,8 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段 - 30、分片任务全部成功后触发子任务; - 31、任务复制功能;点击复制是弹出新建任务弹框,并初始化被复制任务信息; - 32、AccessToken按照执行器维度设置;控制调度、回调; +- 33、任务执行一次的时候指定IP; +- 34、通讯调整;双向HTTP,回调和其他API自定义AccessToken,Restful,执行器复用容器端口; ## 七、其他 From a8d94894d5866628c595eab1a18bd300e90dc11e Mon Sep 17 00:00:00 2001 From: xuxueli <931591021@qq.com> Date: Fri, 15 Nov 2019 18:45:00 +0800 Subject: [PATCH 15/34] update document --- doc/XXL-JOB官方文档.md | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index a8032475..98a5c87d 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -1582,6 +1582,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段 - 15、[ING]xxl-rpc服务端线程优化,降低线程内存开销; - 16、[ING]调度日志优化:支持设置日志保留天数,过期日志天维度记录报表,并清理;调度报表汇总实时数据和报表; - 17、[ING]父子任务参数传递;流程任务等,透传动态参数; +- 18、[ING]调度中心任务平均分配,触发组件每次获取与线程池数量相关数量的任务,避免大量任务集中在单个调度中心集群节点。 From cdedf2aa1562964f6d10662ac63357a33b1a13a4 Mon Sep 17 00:00:00 2001 From: xuxueli <931591021@qq.com> Date: Fri, 15 Nov 2019 18:53:25 +0800 Subject: [PATCH 16/34] =?UTF-8?q?=E8=B0=83=E5=BA=A6=E4=B8=AD=E5=BF=83?= =?UTF-8?q?=E5=AF=86=E7=A0=81=E9=99=90=E5=88=B618=E4=BD=8D=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BF=AE=E6=94=B9=E5=AF=86=E7=A0=81=E8=B6=85?= =?UTF-8?q?=E8=BF=8718=E4=BD=8D=E6=97=A0=E6=B3=95=E7=99=BB=E9=99=86?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/XXL-JOB官方文档.md | 1 + .../src/main/resources/templates/common/common.macro.ftl | 2 +- xxl-job-admin/src/main/resources/templates/login.ftl | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index 98a5c87d..0600727d 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -1583,6 +1583,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段 - 16、[ING]调度日志优化:支持设置日志保留天数,过期日志天维度记录报表,并清理;调度报表汇总实时数据和报表; - 17、[ING]父子任务参数传递;流程任务等,透传动态参数; - 18、[ING]调度中心任务平均分配,触发组件每次获取与线程池数量相关数量的任务,避免大量任务集中在单个调度中心集群节点。 +- 19、调度中心密码限制18位,修复修改密码超过18位无法登陆的问题; diff --git a/xxl-job-admin/src/main/resources/templates/common/common.macro.ftl b/xxl-job-admin/src/main/resources/templates/common/common.macro.ftl index 845ca7f4..1a5e7a90 100644 --- a/xxl-job-admin/src/main/resources/templates/common/common.macro.ftl +++ b/xxl-job-admin/src/main/resources/templates/common/common.macro.ftl @@ -109,7 +109,7 @@
-
+

diff --git a/xxl-job-admin/src/main/resources/templates/login.ftl b/xxl-job-admin/src/main/resources/templates/login.ftl index e6a29e01..c3f69638 100644 --- a/xxl-job-admin/src/main/resources/templates/login.ftl +++ b/xxl-job-admin/src/main/resources/templates/login.ftl @@ -15,11 +15,11 @@