Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
粉色的八爪鱼
xxl-job
提交
f7c2e5e8
X
xxl-job
项目概览
粉色的八爪鱼
/
xxl-job
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
X
xxl-job
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f7c2e5e8
编写于
7月 19, 2019
作者:
许雪里
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update document
上级
107a2092
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
8 addition
and
8 deletion
+8
-8
xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java
...java/com/xxl/job/admin/core/thread/JobScheduleHelper.java
+8
-8
未找到文件。
xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java
浏览文件 @
f7c2e5e8
...
...
@@ -67,16 +67,16 @@ public class JobScheduleHelper {
// tx start
// 1、
预读5s内调度任务
// 1、
pre read
long
nowTime
=
System
.
currentTimeMillis
();
List
<
XxlJobInfo
>
scheduleList
=
XxlJobAdminConfig
.
getAdminConfig
().
getXxlJobInfoDao
().
scheduleJobQuery
(
nowTime
+
PRE_READ_MS
);
if
(
scheduleList
!=
null
&&
scheduleList
.
size
()>
0
)
{
// 2、
推送时间轮
// 2、
push time-ring
for
(
XxlJobInfo
jobInfo:
scheduleList
)
{
//
时间轮刻度计算
//
time-ring jump
if
(
nowTime
>
jobInfo
.
getTriggerNextTime
()
+
PRE_READ_MS
)
{
//
过期超5s:本地忽略,当前时间开始计算下次触发时间
//
2.1、trigger-expire > 5s:pass && make next-trigger-time
// fresh next
Date
nextValidTime
=
new
CronExpression
(
jobInfo
.
getJobCron
()).
getNextValidTimeAfter
(
new
Date
());
...
...
@@ -90,7 +90,7 @@ public class JobScheduleHelper {
}
}
else
if
(
nowTime
>
jobInfo
.
getTriggerNextTime
())
{
//
过期5s内 :立即触发一次,当前时间开始计算下次触发时间;
//
2.2、trigger-expire < 5s:direct-trigger && make next-trigger-time
CronExpression
cronExpression
=
new
CronExpression
(
jobInfo
.
getJobCron
());
long
nextTime
=
cronExpression
.
getNextValidTimeAfter
(
new
Date
()).
getTime
();
...
...
@@ -104,7 +104,7 @@ public class JobScheduleHelper {
jobInfo
.
setTriggerNextTime
(
nextTime
);
//
下次5s内:预读一次;
//
next-trigger-time in 5s, pre-read again
if
(
jobInfo
.
getTriggerNextTime
()
-
nowTime
<
PRE_READ_MS
)
{
// 1、make ring second
...
...
@@ -127,7 +127,7 @@ public class JobScheduleHelper {
}
}
else
{
//
未过期:正常触发,递增计算下次触发时间
//
2.3、trigger-pre-read:time-ring trigger && make next-trigger-time
// 1、make ring second
int
ringSecond
=
(
int
)((
jobInfo
.
getTriggerNextTime
()/
1000
)%
60
);
...
...
@@ -150,7 +150,7 @@ public class JobScheduleHelper {
}
// 3、
更新trigger信息
// 3、
update trigger info
for
(
XxlJobInfo
jobInfo:
scheduleList
)
{
XxlJobAdminConfig
.
getAdminConfig
().
getXxlJobInfoDao
().
scheduleUpdate
(
jobInfo
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录