调度中心Cron前端组件优化,解决week配置与后端兼容性问题(ISSUE-2220)。

3.1.0-release
xuxueli 7 months ago
parent d3e1453bf4
commit f0d3645888

@ -2455,8 +2455,9 @@ public void execute() {
### 7.38 版本 v3.0.1 Release Notes[规划中] ### 7.38 版本 v3.0.1 Release Notes[规划中]
- 1、【修复】任务操作逻辑优化修复边界情况下逻辑中断问题(ISSUE-2081)。 - 1、【修复】任务操作逻辑优化修复边界情况下逻辑中断问题(ISSUE-2081)。
- 2、[规划中]登陆态Token生成逻辑优化混淆登陆时间属性降低token泄漏风险 - 2、【修复】调度中心Cron前端组件优化解决week配置与后端兼容性问题(ISSUE-2220)。
- 3、[规划中]组件扫描改为BeanPostProcessor方式避免小概率情况下提前初始化底层组件移除单例写法汇总factory统一管理 - 3、[规划中]登陆态Token生成逻辑优化混淆登陆时间属性降低token泄漏风险
- 4、[规划中]组件扫描改为BeanPostProcessor方式避免小概率情况下提前初始化底层组件移除单例写法汇总factory统一管理
### TODO LIST ### TODO LIST
- 1、调度隔离调度中心针对不同执行器各自维护不同的调度和远程触发组件。 - 1、调度隔离调度中心针对不同执行器各自维护不同的调度和远程触发组件。

@ -258,24 +258,27 @@
var weekly3 = $("<div/>",{"class":"line"}); var weekly3 = $("<div/>",{"class":"line"});
$("<input/>",{type : "radio", value : "3", name : "week"}).appendTo(weekly3); $("<input/>",{type : "radio", value : "3", name : "week"}).appendTo(weekly3);
$(weekly3).append("周期 从星期"); $(weekly3).append("周期 每周第");
$("<input/>",{type : "text", id : "weekStart_0", value : "1", style:"width:35px; height:20px; text-align: center; margin: 0 3px;"}).appendTo(weekly3); $("<input/>",{type : "text", id : "weekStart_0", value : "1", style:"width:35px; height:20px; text-align: center; margin: 0 3px;"}).appendTo(weekly3);
$(weekly3).append("-"); $(weekly3).append("-");
$("<input/>",{type : "text", id : "weekEnd_0", value : "2", style:"width:35px; height:20px; text-align: center; margin: 0 3px;"}).appendTo(weekly3); $("<input/>",{type : "text", id : "weekEnd_0", value : "2", style:"width:35px; height:20px; text-align: center; margin: 0 3px;"}).appendTo(weekly3);
$(weekly3).append("天");
$(weekly3).appendTo(weeklyTab); $(weekly3).appendTo(weeklyTab);
var weekly4 = $("<div/>",{"class":"line"}); var weekly4 = $("<div/>",{"class":"line"});
$("<input/>",{type : "radio", value : "4", name : "week"}).appendTo(weekly4); $("<input/>",{type : "radio", value : "4", name : "week"}).appendTo(weekly4);
$(weekly4).append("第"); $(weekly4).append("第");
$("<input/>",{type : "text", id : "weekStart_1", value : "1", style:"width:35px; height:20px; text-align: center; margin: 0 3px;"}).appendTo(weekly4); $("<input/>",{type : "text", id : "weekStart_1", value : "1", style:"width:35px; height:20px; text-align: center; margin: 0 3px;"}).appendTo(weekly4);
$(weekly4).append("周的星期"); $(weekly4).append("天开始,间隔");
$("<input/>",{type : "text", id : "weekEnd_1", value : "1", style:"width:35px; height:20px; text-align: center; margin: 0 3px;"}).appendTo(weekly4); $("<input/>",{type : "text", id : "weekEnd_1", value : "1", style:"width:35px; height:20px; text-align: center; margin: 0 3px;"}).appendTo(weekly4);
$(weekly4).append("天执行一次");
$(weekly4).appendTo(weeklyTab); $(weekly4).appendTo(weeklyTab);
var weekly5 = $("<div/>",{"class":"line"}); var weekly5 = $("<div/>",{"class":"line"});
$("<input/>",{type : "radio", value : "5", name : "week"}).appendTo(weekly5); $("<input/>",{type : "radio", value : "5", name : "week"}).appendTo(weekly5);
$(weekly5).append("本月最后一个星期"); $(weekly5).append("本月最后一周的第");
$("<input/>",{type : "text", id : "weekStart_2", value : "1", style:"width:35px; height:20px; text-align: center; margin: 0 3px;"}).appendTo(weekly5); $("<input/>",{type : "text", id : "weekStart_2", value : "1", style:"width:35px; height:20px; text-align: center; margin: 0 3px;"}).appendTo(weekly5);
$(weekly5).append("天");
$(weekly5).appendTo(weeklyTab); $(weekly5).appendTo(weeklyTab);
var weekly6 = $("<div/>",{"class":"line"}); var weekly6 = $("<div/>",{"class":"line"});
@ -283,7 +286,7 @@
$(weekly6).append("指定"); $(weekly6).append("指定");
$(weekly6).appendTo(weeklyTab); $(weekly6).appendTo(weeklyTab);
$(weeklyTab).append('<div class="imp weekList"><input type="checkbox" disabled="disabled" style="margin-left: 5px" value="1">1<input type="checkbox" disabled="disabled" style="margin-left: 5px" value="2">2<input type="checkbox" disabled="disabled" style="margin-left: 5px" value="3">3<input type="checkbox" disabled="disabled" style="margin-left: 5px" value="4">4<input type="checkbox" disabled="disabled" style="margin-left: 5px" value="5">5<input type="checkbox" disabled="disabled" style="margin-left: 5px" value="6">6<input type="checkbox" disabled="disabled" style="margin-left: 5px" value="7">7</div>'); $(weeklyTab).append('<div class="imp weekList"><input type="checkbox" disabled="disabled" style="margin-left: 5px" value="1"><input type="checkbox" disabled="disabled" style="margin-left: 5px" value="2"><input type="checkbox" disabled="disabled" style="margin-left: 5px" value="3"><input type="checkbox" disabled="disabled" style="margin-left: 5px" value="4"><input type="checkbox" disabled="disabled" style="margin-left: 5px" value="5"><input type="checkbox" disabled="disabled" style="margin-left: 5px" value="6"><input type="checkbox" disabled="disabled" style="margin-left: 5px" value="7"></div>');
$("<input/>",{type : "hidden", id : "weekHidden"}).appendTo(weeklyTab); $("<input/>",{type : "hidden", id : "weekHidden"}).appendTo(weeklyTab);
$(weeklyTab).appendTo(tabContent); $(weeklyTab).appendTo(tabContent);

@ -268,7 +268,7 @@
$("<input/>",{type : "radio", value : "4", name : "week"}).appendTo(weekly4); $("<input/>",{type : "radio", value : "4", name : "week"}).appendTo(weekly4);
$(weekly4).append("The"); $(weekly4).append("The");
$("<input/>",{type : "text", id : "weekStart_1", value : "1", style:"width:35px; height:20px; text-align: center; margin: 0 3px;"}).appendTo(weekly4); $("<input/>",{type : "text", id : "weekStart_1", value : "1", style:"width:35px; height:20px; text-align: center; margin: 0 3px;"}).appendTo(weekly4);
$(weekly4).append("th week, and day "); $(weekly4).append("th week, once every ");
$("<input/>",{type : "text", id : "weekEnd_1", value : "1", style:"width:35px; height:20px; text-align: center; margin: 0 3px;"}).appendTo(weekly4); $("<input/>",{type : "text", id : "weekEnd_1", value : "1", style:"width:35px; height:20px; text-align: center; margin: 0 3px;"}).appendTo(weekly4);
$(weekly4).appendTo(weeklyTab); $(weekly4).appendTo(weeklyTab);
@ -283,7 +283,7 @@
$(weekly6).append("specify"); $(weekly6).append("specify");
$(weekly6).appendTo(weeklyTab); $(weekly6).appendTo(weeklyTab);
$(weeklyTab).append('<div class="imp weekList"><input type="checkbox" disabled="disabled" style="margin-left: 5px" value="1">1<input type="checkbox" disabled="disabled" style="margin-left: 5px" value="2">2<input type="checkbox" disabled="disabled" style="margin-left: 5px" value="3">3<input type="checkbox" disabled="disabled" style="margin-left: 5px" value="4">4<input type="checkbox" disabled="disabled" style="margin-left: 5px" value="5">5<input type="checkbox" disabled="disabled" style="margin-left: 5px" value="6">6<input type="checkbox" disabled="disabled" style="margin-left: 5px" value="7">7</div>'); $(weeklyTab).append('<div class="imp weekList"><input type="checkbox" disabled="disabled" style="margin-left: 5px" value="1">SUN<input type="checkbox" disabled="disabled" style="margin-left: 5px" value="2">MON<input type="checkbox" disabled="disabled" style="margin-left: 5px" value="3">TUE<input type="checkbox" disabled="disabled" style="margin-left: 5px" value="4">WED<input type="checkbox" disabled="disabled" style="margin-left: 5px" value="5">THU<input type="checkbox" disabled="disabled" style="margin-left: 5px" value="6">FRI<input type="checkbox" disabled="disabled" style="margin-left: 5px" value="7">SAT</div>');
$("<input/>",{type : "hidden", id : "weekHidden"}).appendTo(weeklyTab); $("<input/>",{type : "hidden", id : "weekHidden"}).appendTo(weeklyTab);
$(weeklyTab).appendTo(tabContent); $(weeklyTab).appendTo(tabContent);

@ -0,0 +1,23 @@
package com.xxl.job.admin.core.util;
import com.xxl.job.admin.core.cron.CronExpression;
import com.xxl.job.core.util.DateUtil;
import org.junit.jupiter.api.Test;
import java.text.ParseException;
import java.util.Date;
public class CronExpressionTest {
@Test
public void shouldWriteValueAsString() throws ParseException {
CronExpression cronExpression = new CronExpression("0 0 0 ? * 1");
Date lastTriggerTime = new Date();
for (int i = 0; i < 5; i++) {
Date nextTriggerTime = cronExpression.getNextValidTimeAfter(lastTriggerTime);
System.out.println(DateUtil.formatDateTime(nextTriggerTime));
lastTriggerTime = nextTriggerTime;
}
}
}
Loading…
Cancel
Save