Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
X
xxl_job
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
promotion
xxl_job
Commits
333f15e5
提交
333f15e5
authored
11月 22, 2019
作者:
xuxueli
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
调度中心日志自动清理功能:调度中心新增配置项("xxl.job.logretentiondays")日志保存天数,过期日志自动清理;解决海量日志情况下日志表慢S…
调度中心日志自动清理功能:调度中心新增配置项("xxl.job.logretentiondays")日志保存天数,过期日志自动清理;解决海量日志情况下日志表慢SQL问题;限制大于等于7时生效,否则关闭清理功能,默认为30;
上级
7ab75aa8
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
55 行增加
和
3 行删除
+55
-3
XXL-JOB官方文档.md
doc/XXL-JOB官方文档.md
+9
-1
XxlJobAdminConfig.java
...n/java/com/xxl/job/admin/core/conf/XxlJobAdminConfig.java
+10
-0
JobLogReportHelper.java
...ava/com/xxl/job/admin/core/thread/JobLogReportHelper.java
+33
-2
application.properties
xxl-job-admin/src/main/resources/application.properties
+3
-0
没有找到文件。
doc/XXL-JOB官方文档.md
浏览文件 @
333f15e5
...
...
@@ -464,6 +464,13 @@ XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是
### xxl-job, i18n (default empty as chinese, "en" as english)
xxl.job.i18n=
## xxl-job, 调度线程池最大线程配置
xxl.job.triggerpool.fast.max=200
xxl.job.triggerpool.slow.max=100
### xxl-job, 日志保存天数,过期日志自动清理;限制大于等于7时生效,否则,如-1,关闭自动清理功能;
xxl.job.logretentiondays=30
#### 步骤二:部署项目:
...
...
@@ -1599,7 +1606,8 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
-
21、调度中心回调API服务改为restful方式;
-
22、调度中心日志删除优化,改为分页获取ID并根据ID删除的方式,避免批量删除海量日志导致死锁问题;
-
23、调度报表优化:新增日志报表的存储表,三天内的任务日志会以每分钟一次的频率异步同步至报表中;任务报表仅读取报表数据,极大提升加载速度;
-
24、
[
ing
]
调度日志优化:支持设置日志保留天数,过期日志天维度记录报表,并清理;调度报表汇总实时数据和报表;
-
24、调度中心日志自动清理功能:调度中心新增配置项("xxl.job.logretentiondays")日志保存天数,过期日志自动清理;解决海量日志情况下日志表慢SQL问题;限制大于等于7时生效,否则关闭清理功能,默认为30;
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/conf/XxlJobAdminConfig.java
浏览文件 @
333f15e5
...
...
@@ -62,6 +62,9 @@ public class XxlJobAdminConfig implements InitializingBean, DisposableBean {
@Value
(
"${xxl.job.triggerpool.slow.max}"
)
private
int
triggerPoolSlowMax
;
@Value
(
"${xxl.job.logretentiondays}"
)
private
int
logretentiondays
;
// dao, service
@Resource
...
...
@@ -106,6 +109,13 @@ public class XxlJobAdminConfig implements InitializingBean, DisposableBean {
return
triggerPoolSlowMax
;
}
public
int
getLogretentiondays
()
{
if
(
logretentiondays
<
7
)
{
return
-
1
;
// Limit greater than or equal to 7, otherwise close
}
return
logretentiondays
;
}
public
XxlJobLogDao
getXxlJobLogDao
()
{
return
xxlJobLogDao
;
}
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobLogReportHelper.java
浏览文件 @
333f15e5
...
...
@@ -7,6 +7,7 @@ import org.slf4j.LoggerFactory;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.TimeUnit
;
...
...
@@ -32,11 +33,15 @@ public class JobLogReportHelper {
@Override
public
void
run
()
{
// monitor
// last clean log time
long
lastCleanLogTime
=
0
;
while
(!
toStop
)
{
// 1、log-report refresh: refresh log report in 3 days
try
{
// refresh log report in 3 days
for
(
int
i
=
0
;
i
<
3
;
i
++)
{
// today
...
...
@@ -88,6 +93,32 @@ public class JobLogReportHelper {
}
}
// 2、log-clean: switch open & once each day
if
(
XxlJobAdminConfig
.
getAdminConfig
().
getLogretentiondays
()>
0
&&
System
.
currentTimeMillis
()
-
lastCleanLogTime
>
24
*
60
*
60
*
1000
)
{
// expire-time
Calendar
expiredDay
=
Calendar
.
getInstance
();
expiredDay
.
add
(
Calendar
.
DAY_OF_MONTH
,
-
1
*
XxlJobAdminConfig
.
getAdminConfig
().
getLogretentiondays
());
expiredDay
.
set
(
Calendar
.
HOUR_OF_DAY
,
0
);
expiredDay
.
set
(
Calendar
.
MINUTE
,
0
);
expiredDay
.
set
(
Calendar
.
SECOND
,
0
);
expiredDay
.
set
(
Calendar
.
MILLISECOND
,
0
);
Date
clearBeforeTime
=
expiredDay
.
getTime
();
// clean expired log
List
<
Long
>
logIds
=
null
;
do
{
logIds
=
XxlJobAdminConfig
.
getAdminConfig
().
getXxlJobLogDao
().
findClearLogIds
(
0
,
0
,
clearBeforeTime
,
0
,
1000
);
if
(
logIds
!=
null
&&
logIds
.
size
()>
0
)
{
XxlJobAdminConfig
.
getAdminConfig
().
getXxlJobLogDao
().
clearLog
(
logIds
);
}
}
while
(
logIds
!=
null
&&
logIds
.
size
()>
0
);
// update clean time
lastCleanLogTime
=
System
.
currentTimeMillis
();
}
try
{
TimeUnit
.
MINUTES
.
sleep
(
1
);
}
catch
(
Exception
e
)
{
...
...
xxl-job-admin/src/main/resources/application.properties
浏览文件 @
333f15e5
...
...
@@ -48,3 +48,6 @@ xxl.job.i18n=
## xxl-job, triggerpool max size
xxl.job.triggerpool.fast.max
=
200
xxl.job.triggerpool.slow.max
=
100
### xxl-job, log retention days
xxl.job.logretentiondays
=
30
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论