Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
X
XXL-JOB
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
靳帅
XXL-JOB
Commits
6b91f408
提交
6b91f408
authored
2月 24, 2017
作者:
xueli.xue
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新特性:
- 1、IP工具类获取IP逻辑优化,IP静态缓存; - 2、执行器、调度中心,均支持自定义注册IP地址;解决机器多网卡时错误网卡注册的情况; - 3、任务跨天执行时生成多份日志文件的问题修复;
上级
ce8d9302
显示空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
50 行增加
和
39 行删除
+50
-39
README.md
README.md
+10
-7
RemoteHttpJobBean.java
...ava/com/xxl/job/admin/core/jobbean/RemoteHttpJobBean.java
+5
-2
XxlJobFileAppender.java
...rc/main/java/com/xxl/job/core/log/XxlJobFileAppender.java
+26
-28
LogAction.java
...c/main/java/com/xxl/job/core/router/action/LogAction.java
+4
-1
JobThread.java
...c/main/java/com/xxl/job/core/router/thread/JobThread.java
+5
-1
没有找到文件。
README.md
浏览文件 @
6b91f408
...
@@ -705,8 +705,10 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
...
@@ -705,8 +705,10 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
-
5、已推送V1.5.0和V1.5.1至Maven中央仓库;
-
5、已推送V1.5.0和V1.5.1至Maven中央仓库;
#### 6.10 版本 V1.5.2 特性
#### 6.10 版本 V1.5.2 特性
-
1、IP工具类优化,IP静态缓存;
-
1、IP工具类获取IP逻辑优化,IP静态缓存;
-
2、执行器、调度中心,支持自定义注册IP地址;解决机器多网卡时错误网卡注册的情况;
-
2、执行器、调度中心,均支持自定义注册IP地址;解决机器多网卡时错误网卡注册的情况;
-
3、任务跨天执行时生成多份日志文件的问题修复;
#### 规划中
#### 规划中
-
1、集群执行器选择规则自定义:单点=选择第一个,随机=随机选择一个;
-
1、集群执行器选择规则自定义:单点=选择第一个,随机=随机选择一个;
...
@@ -717,11 +719,12 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
...
@@ -717,11 +719,12 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
Pass:后续调度被Pass;
Pass:后续调度被Pass;
-
4、后续优化:在线修改密码;
-
4、后续优化:在线修改密码;
-
5、兼容oracle;
-
5、兼容oracle;
-
6、跨天日志write问题修复;
-
6、rolling日志;
-
7、rolling日志;
-
7、执行器,server启动,注册逻辑调整;
-
8、执行器,server启动,注册逻辑调整;
-
8、通过listener或stop方法,容器销毁时销毁线程;Daemon方式有时不太理想;
-
9、通过listener或stop方法,容器销毁时销毁线程;Daemon方式有时不太理想;
-
9、调度重试机制;
-
10、调度重试机制;
-
10、报表:当日报表、一周报表、一年报表等等;
-
11、通讯:hex 通讯调整为 http-rpc 模式;
## 七、其他
## 七、其他
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/jobbean/RemoteHttpJobBean.java
浏览文件 @
6b91f408
...
@@ -52,6 +52,9 @@ public class RemoteHttpJobBean extends QuartzJobBean {
...
@@ -52,6 +52,9 @@ public class RemoteHttpJobBean extends QuartzJobBean {
}
}
adminAddressSet
.
add
(
DynamicSchedulerUtil
.
getCallbackAddress
());
adminAddressSet
.
add
(
DynamicSchedulerUtil
.
getCallbackAddress
());
// update trigger info 1/2
jobLog
.
setTriggerTime
(
new
Date
());
// trigger request
// trigger request
RequestModel
requestModel
=
new
RequestModel
();
RequestModel
requestModel
=
new
RequestModel
();
requestModel
.
setTimestamp
(
System
.
currentTimeMillis
());
requestModel
.
setTimestamp
(
System
.
currentTimeMillis
());
...
@@ -63,6 +66,7 @@ public class RemoteHttpJobBean extends QuartzJobBean {
...
@@ -63,6 +66,7 @@ public class RemoteHttpJobBean extends QuartzJobBean {
requestModel
.
setGlueSwitch
((
jobInfo
.
getGlueSwitch
()==
0
)?
false
:
true
);
requestModel
.
setGlueSwitch
((
jobInfo
.
getGlueSwitch
()==
0
)?
false
:
true
);
requestModel
.
setLogAddress
(
adminAddressSet
);
requestModel
.
setLogAddress
(
adminAddressSet
);
requestModel
.
setLogId
(
jobLog
.
getId
());
requestModel
.
setLogId
(
jobLog
.
getId
());
requestModel
.
setLogDateTim
(
jobLog
.
getTriggerTime
().
getTime
());
// parse address
// parse address
List
<
String
>
addressList
=
new
ArrayList
<
String
>();
List
<
String
>
addressList
=
new
ArrayList
<
String
>();
...
@@ -77,8 +81,7 @@ public class RemoteHttpJobBean extends QuartzJobBean {
...
@@ -77,8 +81,7 @@ public class RemoteHttpJobBean extends QuartzJobBean {
jobLog
.
setExecutorParam
(
jobInfo
.
getExecutorParam
());
jobLog
.
setExecutorParam
(
jobInfo
.
getExecutorParam
());
logger
.
info
(
">>>>>>>>>>> xxl-job failoverTrigger response, jobId:{}, responseModel:{}"
,
jobLog
.
getId
(),
responseModel
.
toString
());
logger
.
info
(
">>>>>>>>>>> xxl-job failoverTrigger response, jobId:{}, responseModel:{}"
,
jobLog
.
getId
(),
responseModel
.
toString
());
// update trigger info
// update trigger info 2/2
jobLog
.
setTriggerTime
(
new
Date
());
jobLog
.
setTriggerStatus
(
responseModel
.
getStatus
());
jobLog
.
setTriggerStatus
(
responseModel
.
getStatus
());
jobLog
.
setTriggerMsg
(
responseModel
.
getMsg
());
jobLog
.
setTriggerMsg
(
responseModel
.
getMsg
());
DynamicSchedulerUtil
.
xxlJobLogDao
.
updateTriggerInfo
(
jobLog
);
DynamicSchedulerUtil
.
xxlJobLogDao
.
updateTriggerInfo
(
jobLog
);
...
...
xxl-job-core/src/main/java/com/xxl/job/core/log/XxlJobFileAppender.java
浏览文件 @
6b91f408
...
@@ -24,12 +24,14 @@ public class XxlJobFileAppender extends AppenderSkeleton {
...
@@ -24,12 +24,14 @@ public class XxlJobFileAppender extends AppenderSkeleton {
XxlJobFileAppender
.
filePath
=
filePath
;
XxlJobFileAppender
.
filePath
=
filePath
;
}
}
@Override
/**
protected
void
append
(
LoggingEvent
event
)
{
* log filename: yyyy-MM-dd/9999.log
String
trigger_log_id
=
contextHolder
.
get
();
*
if
(
trigger_log_id
==
null
||
trigger_log_id
.
trim
().
length
()==
0
)
{
* @param triggerDate
return
;
* @param logId
}
* @return
*/
public
static
String
makeLogFileName
(
Date
triggerDate
,
int
logId
)
{
// filePath/
// filePath/
File
filePathDir
=
new
File
(
filePath
);
File
filePathDir
=
new
File
(
filePath
);
...
@@ -45,8 +47,19 @@ public class XxlJobFileAppender extends AppenderSkeleton {
...
@@ -45,8 +47,19 @@ public class XxlJobFileAppender extends AppenderSkeleton {
}
}
// filePath/yyyy-MM-dd/9999.log
// filePath/yyyy-MM-dd/9999.log
String
logFileName
=
trigger_log_id
.
concat
(
".log"
);
String
logFileName
=
XxlJobFileAppender
.
sdf
.
format
(
triggerDate
).
concat
(
"/"
).
concat
(
String
.
valueOf
(
logId
)).
concat
(
".log"
);
File
logFile
=
new
File
(
filePathDateDir
,
logFileName
);
return
logFileName
;
}
@Override
protected
void
append
(
LoggingEvent
event
)
{
String
logFileName
=
contextHolder
.
get
();
if
(
logFileName
==
null
||
logFileName
.
trim
().
length
()==
0
)
{
return
;
}
File
logFile
=
new
File
(
filePath
,
logFileName
);
if
(!
logFile
.
exists
())
{
if
(!
logFile
.
exists
())
{
try
{
try
{
logFile
.
createNewFile
();
logFile
.
createNewFile
();
...
@@ -101,31 +114,16 @@ public class XxlJobFileAppender extends AppenderSkeleton {
...
@@ -101,31 +114,16 @@ public class XxlJobFileAppender extends AppenderSkeleton {
/**
/**
* support read log-file
* support read log-file
* @param triggerDate
* @param logFileName
* @param trigger_log_id
* @return log content
* @return log content
*/
*/
public
static
String
readLog
(
Date
triggerDate
,
int
trigger_log_id
){
public
static
String
readLog
(
String
logFileName
){
if
(
triggerDate
==
null
||
trigger_log_id
<=
0
)
{
return
null
;
}
// filePath/
if
(
logFileName
==
null
||
logFileName
.
trim
().
length
()==
0
)
{
File
filePathDir
=
new
File
(
filePath
);
return
null
;
if
(!
filePathDir
.
exists
())
{
filePathDir
.
mkdirs
();
}
// filePath/yyyy-MM-dd/
String
nowFormat
=
sdf
.
format
(
triggerDate
);
File
filePathDateDir
=
new
File
(
filePathDir
,
nowFormat
);
if
(!
filePathDateDir
.
exists
())
{
filePathDateDir
.
mkdirs
();
}
}
File
logFile
=
new
File
(
filePath
,
logFileName
);
// filePath/yyyy-MM-dd/9999.log
String
logFileName
=
String
.
valueOf
(
trigger_log_id
).
concat
(
".log"
);
File
logFile
=
new
File
(
filePathDateDir
,
logFileName
);
if
(!
logFile
.
exists
())
{
if
(!
logFile
.
exists
())
{
return
null
;
return
null
;
}
}
...
...
xxl-job-core/src/main/java/com/xxl/job/core/router/action/LogAction.java
浏览文件 @
6b91f408
...
@@ -14,7 +14,10 @@ public class LogAction extends IAction {
...
@@ -14,7 +14,10 @@ public class LogAction extends IAction {
@Override
@Override
public
ResponseModel
execute
(
RequestModel
requestModel
)
{
public
ResponseModel
execute
(
RequestModel
requestModel
)
{
String
logConteng
=
XxlJobFileAppender
.
readLog
(
new
Date
(
requestModel
.
getLogDateTim
()),
requestModel
.
getLogId
());
// log filename: yyyy-MM-dd/9999.log
String
logFileName
=
XxlJobFileAppender
.
makeLogFileName
(
new
Date
(
requestModel
.
getLogDateTim
()),
requestModel
.
getLogId
());
String
logConteng
=
XxlJobFileAppender
.
readLog
(
logFileName
);
return
new
ResponseModel
(
ResponseModel
.
SUCCESS
,
logConteng
);
return
new
ResponseModel
(
ResponseModel
.
SUCCESS
,
logConteng
);
}
}
...
...
xxl-job-core/src/main/java/com/xxl/job/core/router/thread/JobThread.java
浏览文件 @
6b91f408
...
@@ -11,6 +11,7 @@ import org.slf4j.LoggerFactory;
...
@@ -11,6 +11,7 @@ import org.slf4j.LoggerFactory;
import
java.io.PrintWriter
;
import
java.io.PrintWriter
;
import
java.io.StringWriter
;
import
java.io.StringWriter
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.concurrent.LinkedBlockingQueue
;
import
java.util.concurrent.LinkedBlockingQueue
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.TimeUnit
;
...
@@ -78,7 +79,10 @@ public class JobThread extends Thread{
...
@@ -78,7 +79,10 @@ public class JobThread extends Thread{
String
_msg
=
null
;
String
_msg
=
null
;
try
{
try
{
XxlJobFileAppender
.
contextHolder
.
set
(
String
.
valueOf
(
triggerDate
.
getLogId
()));
// log filename: yyyy-MM-dd/9999.log
String
logFileName
=
XxlJobFileAppender
.
makeLogFileName
(
new
Date
(
triggerDate
.
getLogDateTim
()),
triggerDate
.
getLogId
());
XxlJobFileAppender
.
contextHolder
.
set
(
logFileName
);
logger
.
info
(
"----------- xxl-job job handle start -----------"
);
logger
.
info
(
"----------- xxl-job job handle start -----------"
);
handler
.
execute
(
handlerParams
);
handler
.
execute
(
handlerParams
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论