Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
X
XXL-JOB
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
靳帅
XXL-JOB
Commits
8b9f80f5
提交
8b9f80f5
authored
10月 26, 2019
作者:
ylqin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
extract method to avoid duplicated codes
上级
111fdc4f
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
16 行增加
和
27 行删除
+16
-27
JobScheduleHelper.java
...java/com/xxl/job/admin/core/thread/JobScheduleHelper.java
+16
-27
没有找到文件。
xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java
浏览文件 @
8b9f80f5
...
...
@@ -10,6 +10,7 @@ import org.slf4j.LoggerFactory;
import
java.sql.Connection
;
import
java.sql.PreparedStatement
;
import
java.sql.SQLException
;
import
java.text.ParseException
;
import
java.util.*
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.TimeUnit
;
...
...
@@ -82,15 +83,7 @@ public class JobScheduleHelper {
// 2.1、trigger-expire > 5s:pass && make next-trigger-time
// fresh next
Date
nextValidTime
=
new
CronExpression
(
jobInfo
.
getJobCron
()).
getNextValidTimeAfter
(
new
Date
());
if
(
nextValidTime
!=
null
)
{
jobInfo
.
setTriggerLastTime
(
jobInfo
.
getTriggerNextTime
());
jobInfo
.
setTriggerNextTime
(
nextValidTime
.
getTime
());
}
else
{
jobInfo
.
setTriggerStatus
(
0
);
jobInfo
.
setTriggerLastTime
(
0
);
jobInfo
.
setTriggerNextTime
(
0
);
}
refreshNextValidTime
(
jobInfo
,
new
Date
());
}
else
if
(
nowTime
>
jobInfo
.
getTriggerNextTime
())
{
// 2.2、trigger-expire < 5s:direct-trigger && make next-trigger-time
...
...
@@ -117,15 +110,7 @@ public class JobScheduleHelper {
pushTimeRing
(
ringSecond
,
jobInfo
.
getId
());
// 3、fresh next
Date
nextValidTime
=
new
CronExpression
(
jobInfo
.
getJobCron
()).
getNextValidTimeAfter
(
new
Date
(
jobInfo
.
getTriggerNextTime
()));
if
(
nextValidTime
!=
null
)
{
jobInfo
.
setTriggerLastTime
(
jobInfo
.
getTriggerNextTime
());
jobInfo
.
setTriggerNextTime
(
nextValidTime
.
getTime
());
}
else
{
jobInfo
.
setTriggerStatus
(
0
);
jobInfo
.
setTriggerLastTime
(
0
);
jobInfo
.
setTriggerNextTime
(
0
);
}
refreshNextValidTime
(
jobInfo
,
new
Date
(
jobInfo
.
getTriggerNextTime
()));
}
...
...
@@ -139,15 +124,7 @@ public class JobScheduleHelper {
pushTimeRing
(
ringSecond
,
jobInfo
.
getId
());
// 3、fresh next
Date
nextValidTime
=
new
CronExpression
(
jobInfo
.
getJobCron
()).
getNextValidTimeAfter
(
new
Date
(
jobInfo
.
getTriggerNextTime
()));
if
(
nextValidTime
!=
null
)
{
jobInfo
.
setTriggerLastTime
(
jobInfo
.
getTriggerNextTime
());
jobInfo
.
setTriggerNextTime
(
nextValidTime
.
getTime
());
}
else
{
jobInfo
.
setTriggerStatus
(
0
);
jobInfo
.
setTriggerLastTime
(
0
);
jobInfo
.
setTriggerNextTime
(
0
);
}
refreshNextValidTime
(
jobInfo
,
new
Date
(
jobInfo
.
getTriggerNextTime
()));
}
...
...
@@ -293,6 +270,18 @@ public class JobScheduleHelper {
ringThread
.
start
();
}
private
void
refreshNextValidTime
(
XxlJobInfo
jobInfo
,
Date
date
)
throws
ParseException
{
Date
nextValidTime
=
new
CronExpression
(
jobInfo
.
getJobCron
()).
getNextValidTimeAfter
(
date
);
if
(
nextValidTime
!=
null
)
{
jobInfo
.
setTriggerLastTime
(
jobInfo
.
getTriggerNextTime
());
jobInfo
.
setTriggerNextTime
(
nextValidTime
.
getTime
());
}
else
{
jobInfo
.
setTriggerStatus
(
0
);
jobInfo
.
setTriggerLastTime
(
0
);
jobInfo
.
setTriggerNextTime
(
0
);
}
}
private
void
pushTimeRing
(
int
ringSecond
,
int
jobId
){
// push async ring
List
<
Integer
>
ringItemData
=
ringData
.
get
(
ringSecond
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论