Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
X
XXL-JOB
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
靳帅
XXL-JOB
Commits
e58f77dd
提交
e58f77dd
authored
5月 28, 2016
作者:
xueli.xue
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ftl重命名
上级
a06d7536
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
331 行增加
和
30 行删除
+331
-30
.gitignore
.gitignore
+1
-0
README.md
README.md
+2
-2
JobCodeController.java
.../java/com/xxl/job/admin/controller/JobCodeController.java
+1
-1
JobInfoController.java
.../java/com/xxl/job/admin/controller/JobInfoController.java
+1
-1
common.macro.ftl
.../src/main/webapp/WEB-INF/template/common/common.macro.ftl
+4
-4
help.ftl
xxl-job-admin/src/main/webapp/WEB-INF/template/help.ftl
+9
-4
jobcode.index.ftl
...rc/main/webapp/WEB-INF/template/jobcode/jobcode.index.ftl
+0
-0
jobinfo.index.ftl
...rc/main/webapp/WEB-INF/template/jobinfo/jobinfo.index.ftl
+0
-0
pace-theme-minimal.css
...rc/main/webapp/static/plugins/pace/pace-theme-minimal.css
+0
-18
pace-theme-bounce.css
...n/webapp/static/plugins/pace/themes/pace-theme-bounce.css
+232
-0
pace-theme-flash.css
...in/webapp/static/plugins/pace/themes/pace-theme-flash.css
+81
-0
没有找到文件。
.gitignore
浏览文件 @
e58f77dd
/.settings/
/.settings/
/.project
/.project
/xxl-job.iml
/xxl-job.iml
/.idea
README.md
浏览文件 @
e58f77dd
...
@@ -21,7 +21,7 @@ git.osc地址:http://git.oschina.net/xuxueli0323/xxl-job
...
@@ -21,7 +21,7 @@ git.osc地址:http://git.oschina.net/xuxueli0323/xxl-job
11、支持远程任务执行终止;
11、支持远程任务执行终止;
12、支持登录验证;
12、支持登录验证;
# 新版本 V1.1.x,特性【于V1.1.x版本,XXL-JOB正式应用于我司,内部定制别名为 “Ferrari”】
# 新版本 V1.1.x,特性【于V1.1.x版本,XXL-JOB正式应用于我司,内部定制别名为 “Ferrari”
,新接入应用推荐使用最新版本V1.3.x
】
1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;
1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;
2、动态:支持动态修改任务状态,动态暂停/恢复任务,即时生效;
2、动态:支持动态修改任务状态,动态暂停/恢复任务,即时生效;
3、服务HA:任务信息持久化到mysql中,Job服务天然支持集群,保证服务HA;
3、服务HA:任务信息持久化到mysql中,Job服务天然支持集群,保证服务HA;
...
@@ -76,7 +76,7 @@ git.osc地址:http://git.oschina.net/xuxueli0323/xxl-job
...
@@ -76,7 +76,7 @@ git.osc地址:http://git.oschina.net/xuxueli0323/xxl-job
# Tips
# Tips
更多接入公司,欢迎在https://github.com/xuxueli/xxl-job/issues/1 登记。
更多接入公司,欢迎在https://github.com/xuxueli/xxl-job/issues/1 登记。
我司大众点评已接入XXL-JOB,内部别名《Ferrari》(
Ferrari基于XXL-JOB的V1.1版本定制而成
)。自2016-01-21接入至2016-05-20未知,内部XXL-JOB系统已调度40000余次,表现优异。新接入应用推荐使用最新版本V1.3,因为经过两个大版本的更新,系统的任务模型、UI交互模型以及底层调度通讯模型都有了较大的提升,核心功能更加稳定高效。
我司大众点评已接入XXL-JOB,内部别名《Ferrari》(
于V1.1.x版本,XXL-JOB正式应用于我司,内部定制别名为 “Ferrari”,新接入应用推荐使用最新版本V1.3.x
)。自2016-01-21接入至2016-05-20未知,内部XXL-JOB系统已调度40000余次,表现优异。新接入应用推荐使用最新版本V1.3,因为经过两个大版本的更新,系统的任务模型、UI交互模型以及底层调度通讯模型都有了较大的提升,核心功能更加稳定高效。


...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobCodeController.java
浏览文件 @
e58f77dd
...
@@ -35,7 +35,7 @@ public class JobCodeController {
...
@@ -35,7 +35,7 @@ public class JobCodeController {
List
<
XxlJobLogGlue
>
jobLogGlues
=
xxlJobLogGlueDao
.
selectList
(
jobGroup
,
jobName
);
List
<
XxlJobLogGlue
>
jobLogGlues
=
xxlJobLogGlueDao
.
selectList
(
jobGroup
,
jobName
);
model
.
addAttribute
(
"jobInfo"
,
jobInfo
);
model
.
addAttribute
(
"jobInfo"
,
jobInfo
);
model
.
addAttribute
(
"jobLogGlues"
,
jobLogGlues
);
model
.
addAttribute
(
"jobLogGlues"
,
jobLogGlues
);
return
"jobcode/index"
;
return
"jobcode/
jobcode.
index"
;
}
}
@RequestMapping
(
"/save"
)
@RequestMapping
(
"/save"
)
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java
浏览文件 @
e58f77dd
...
@@ -44,7 +44,7 @@ public class JobInfoController {
...
@@ -44,7 +44,7 @@ public class JobInfoController {
@RequestMapping
@RequestMapping
public
String
index
(
Model
model
)
{
public
String
index
(
Model
model
)
{
model
.
addAttribute
(
"JobGroupList"
,
JobGroupEnum
.
values
());
// 任务组列表
model
.
addAttribute
(
"JobGroupList"
,
JobGroupEnum
.
values
());
// 任务组列表
return
"jobinfo/index"
;
return
"jobinfo/
jobinfo.
index"
;
}
}
@RequestMapping
(
"/pageList"
)
@RequestMapping
(
"/pageList"
)
...
...
xxl-job-admin/src/main/webapp/WEB-INF/template/common/common.macro.ftl
浏览文件 @
e58f77dd
...
@@ -27,7 +27,7 @@
...
@@ -27,7 +27,7 @@
<!-- scrollup -->
<!-- scrollup -->
<link rel="stylesheet" href="${request.contextPath}/static/plugins/scrollup/image.css">
<link rel="stylesheet" href="${request.contextPath}/static/plugins/scrollup/image.css">
<!-- pace -->
<!-- pace -->
<link rel="stylesheet" href="${request.contextPath}/static/plugins/pace/
pace-theme-minimal
.css">
<link rel="stylesheet" href="${request.contextPath}/static/plugins/pace/
themes/pace-theme-flash
.css">
</#macro>
</#macro>
<#macro commonScript>
<#macro commonScript>
...
@@ -170,10 +170,10 @@
...
@@ -170,10 +170,10 @@
<div class="pull-right hidden-xs">
<div class="pull-right hidden-xs">
<b>Version</b> 1.0
<b>Version</b> 1.0
</div>
</div>
<strong>Copyright © 2015-
2015
<strong>Copyright © 2015-
${.now?string('yyyy')}
<a href="https://github.com/xuxueli/xxl-job" target="_blank" >github</a>
<a href="https://github.com/xuxueli/xxl-job" target="_blank" >github</a>
<a href="http://www.cnblogs.com/xuxueli/p/5021979.html" target="_blank" >cnblog</a>
.
<a href="http://www.cnblogs.com/xuxueli/p/5021979.html" target="_blank" >cnblog</a>
</strong>
All rights reserved.
</strong>
<!-- All rights reserved. -->
</footer>
</footer>
</#macro>
</#macro>
...
...
xxl-job-admin/src/main/webapp/WEB-INF/template/help.ftl
浏览文件 @
e58f77dd
...
@@ -31,11 +31,16 @@
...
@@ -31,11 +31,16 @@
<h4>
简介:XXL_JOB
</h4>
<h4>
简介:XXL_JOB
</h4>
<br>
<br>
<p>
<p>
<a
target=
"_blank"
href=
"https://github.com/xuxueli/xxl-job"
>
github地址
</a><br><br>
<a
target=
"_blank"
href=
"https://github.com/xuxueli/xxl-job"
>
github地址
</a>
<iframe
src=
"https://ghbtns.com/github-btn.html?user=xuxueli&repo=xxl-job&type=star&count=true"
frameborder=
"0"
scrolling=
"0"
width=
"170px"
height=
"20px"
style=
"margin-bottom:-5px;"
></iframe>
<br><br>
<a
target=
"_blank"
href=
"http://git.oschina.net/xuxueli0323/xxl-job"
>
git.osc地址
</a><br><br>
<a
target=
"_blank"
href=
"http://git.oschina.net/xuxueli0323/xxl-job"
>
git.osc地址
</a><br><br>
<a
target=
"_blank"
href=
"http://www.cnblogs.com/xuxueli/p/5021979.html"
>
博客地址(内附使用教程)
</a><br><br>
<a
target=
"_blank"
href=
"http://www.cnblogs.com/xuxueli/p/5021979.html"
>
博客地址(内附使用教程)
</a>
<a
>
技术交流群(仅作技术交流):367260654
</a>
<br><br>
<a
target=
"_blank"
href=
"http://shang.qq.com/wpa/qunwpa?idkey=4686e3fe01118445c75673a66b4cc6b2c7ce0641528205b6f403c179062b0a52"
><img
border=
"0"
src=
"http://pub.idqqimg.com/wpa/images/group.png"
alt=
"《xxl-javaer》"
title=
"《xxl-javaer》"
></a>
<a
>
技术交流群(仅作技术交流):367260654
</a>
<a
target=
"_blank"
href=
"http://shang.qq.com/wpa/qunwpa?idkey=4686e3fe01118445c75673a66b4cc6b2c7ce0641528205b6f403c179062b0a52"
>
<img
border=
"0"
src=
"http://pub.idqqimg.com/wpa/images/group.png"
alt=
"《xxl-javaer》"
title=
"《xxl-javaer》"
>
</a>
</p>
</p>
<p></p>
<p></p>
</div>
</div>
...
...
xxl-job-admin/src/main/webapp/WEB-INF/template/jobcode/index.ftl
→
xxl-job-admin/src/main/webapp/WEB-INF/template/jobcode/
jobcode.
index.ftl
浏览文件 @
e58f77dd
File moved
xxl-job-admin/src/main/webapp/WEB-INF/template/jobinfo/index.ftl
→
xxl-job-admin/src/main/webapp/WEB-INF/template/jobinfo/
jobinfo.
index.ftl
浏览文件 @
e58f77dd
File moved
xxl-job-admin/src/main/webapp/static/plugins/pace/pace-theme-minimal.css
deleted
100644 → 0
浏览文件 @
a06d7536
/* This is a compiled file, you should be editing the file in the templates directory */
.pace
.pace-progress
{
background
:
#22df80
;
position
:
fixed
;
z-index
:
2000
;
top
:
0
;
left
:
0
;
height
:
2px
;
-webkit-transition
:
width
1s
;
-moz-transition
:
width
1s
;
-o-transition
:
width
1s
;
transition
:
width
1s
;
}
.pace-inactive
{
display
:
none
;
}
xxl-job-admin/src/main/webapp/static/plugins/pace/themes/pace-theme-bounce.css
0 → 100644
浏览文件 @
e58f77dd
/* This is a compiled file, you should be editing the file in the templates directory */
.pace
{
width
:
140px
;
height
:
300px
;
position
:
fixed
;
top
:
-90px
;
right
:
-20px
;
z-index
:
2000
;
-webkit-transform
:
scale
(
0
);
-moz-transform
:
scale
(
0
);
-ms-transform
:
scale
(
0
);
-o-transform
:
scale
(
0
);
transform
:
scale
(
0
);
opacity
:
0
;
-webkit-transition
:
all
2s
linear
0s
;
-moz-transition
:
all
2s
linear
0s
;
transition
:
all
2s
linear
0s
;
}
.pace.pace-active
{
-webkit-transform
:
scale
(
.25
);
-moz-transform
:
scale
(
.25
);
-ms-transform
:
scale
(
.25
);
-o-transform
:
scale
(
.25
);
transform
:
scale
(
.25
);
opacity
:
1
;
}
.pace
.pace-activity
{
width
:
140px
;
height
:
140px
;
border-radius
:
70px
;
background
:
#29d
;
position
:
absolute
;
top
:
0
;
z-index
:
1911
;
-webkit-animation
:
pace-bounce
1s
infinite
;
-moz-animation
:
pace-bounce
1s
infinite
;
-o-animation
:
pace-bounce
1s
infinite
;
-ms-animation
:
pace-bounce
1s
infinite
;
animation
:
pace-bounce
1s
infinite
;
}
.pace
.pace-progress
{
position
:
absolute
;
display
:
block
;
left
:
50%
;
bottom
:
0
;
z-index
:
1910
;
margin-left
:
-30px
;
width
:
60px
;
height
:
75px
;
background
:
rgba
(
20
,
20
,
20
,
.1
);
box-shadow
:
0
0
20px
35px
rgba
(
20
,
20
,
20
,
.1
);
border-radius
:
30px
/
40px
;
-webkit-transform
:
scaleY
(
.3
);
-moz-transform
:
scaleY
(
.3
);
-ms-transform
:
scaleY
(
.3
);
-o-transform
:
scaleY
(
.3
);
transform
:
scaleY
(
.3
);
-webkit-animation
:
pace-compress
.5s
infinite
alternate
;
-moz-animation
:
pace-compress
.5s
infinite
alternate
;
-o-animation
:
pace-compress
.5s
infinite
alternate
;
-ms-animation
:
pace-compress
.5s
infinite
alternate
;
animation
:
pace-compress
.5s
infinite
alternate
;
}
@-webkit-keyframes
pace-bounce
{
0
%
{
top
:
0
;
-webkit-animation-timing-function
:
ease-in
;
}
40
%
{}
50
%
{
top
:
140px
;
height
:
140px
;
-webkit-animation-timing-function
:
ease-out
;
}
55
%
{
top
:
160px
;
height
:
120px
;
border-radius
:
70px
/
60px
;
-webkit-animation-timing-function
:
ease-in
;
}
65
%
{
top
:
120px
;
height
:
140px
;
border-radius
:
70px
;
-webkit-animation-timing-function
:
ease-out
;
}
95
%
{
top
:
0
;
-webkit-animation-timing-function
:
ease-in
;
}
100
%
{
top
:
0
;
-webkit-animation-timing-function
:
ease-in
;
}
}
@-moz-keyframes
pace-bounce
{
0
%
{
top
:
0
;
-moz-animation-timing-function
:
ease-in
;
}
40
%
{}
50
%
{
top
:
140px
;
height
:
140px
;
-moz-animation-timing-function
:
ease-out
;
}
55
%
{
top
:
160px
;
height
:
120px
;
border-radius
:
70px
/
60px
;
-moz-animation-timing-function
:
ease-in
;
}
65
%
{
top
:
120px
;
height
:
140px
;
border-radius
:
70px
;
-moz-animation-timing-function
:
ease-out
;}
95
%
{
top
:
0
;
-moz-animation-timing-function
:
ease-in
;
}
100
%
{
top
:
0
;
-moz-animation-timing-function
:
ease-in
;
}
}
@keyframes
pace-bounce
{
0
%
{
top
:
0
;
animation-timing-function
:
ease-in
;
}
50
%
{
top
:
140px
;
height
:
140px
;
animation-timing-function
:
ease-out
;
}
55
%
{
top
:
160px
;
height
:
120px
;
border-radius
:
70px
/
60px
;
animation-timing-function
:
ease-in
;
}
65
%
{
top
:
120px
;
height
:
140px
;
border-radius
:
70px
;
animation-timing-function
:
ease-out
;
}
95
%
{
top
:
0
;
animation-timing-function
:
ease-in
;
}
100
%
{
top
:
0
;
animation-timing-function
:
ease-in
;
}
}
@-webkit-keyframes
pace-compress
{
0
%
{
bottom
:
0
;
margin-left
:
-30px
;
width
:
60px
;
height
:
75px
;
background
:
rgba
(
20
,
20
,
20
,
.1
);
box-shadow
:
0
0
20px
35px
rgba
(
20
,
20
,
20
,
.1
);
border-radius
:
30px
/
40px
;
-webkit-animation-timing-function
:
ease-in
;
}
100
%
{
bottom
:
30px
;
margin-left
:
-10px
;
width
:
20px
;
height
:
5px
;
background
:
rgba
(
20
,
20
,
20
,
.3
);
box-shadow
:
0
0
20px
35px
rgba
(
20
,
20
,
20
,
.3
);
border-radius
:
20px
/
20px
;
-webkit-animation-timing-function
:
ease-out
;
}
}
@-moz-keyframes
pace-compress
{
0
%
{
bottom
:
0
;
margin-left
:
-30px
;
width
:
60px
;
height
:
75px
;
background
:
rgba
(
20
,
20
,
20
,
.1
);
box-shadow
:
0
0
20px
35px
rgba
(
20
,
20
,
20
,
.1
);
border-radius
:
30px
/
40px
;
-moz-animation-timing-function
:
ease-in
;
}
100
%
{
bottom
:
30px
;
margin-left
:
-10px
;
width
:
20px
;
height
:
5px
;
background
:
rgba
(
20
,
20
,
20
,
.3
);
box-shadow
:
0
0
20px
35px
rgba
(
20
,
20
,
20
,
.3
);
border-radius
:
20px
/
20px
;
-moz-animation-timing-function
:
ease-out
;
}
}
@keyframes
pace-compress
{
0
%
{
bottom
:
0
;
margin-left
:
-30px
;
width
:
60px
;
height
:
75px
;
background
:
rgba
(
20
,
20
,
20
,
.1
);
box-shadow
:
0
0
20px
35px
rgba
(
20
,
20
,
20
,
.1
);
border-radius
:
30px
/
40px
;
animation-timing-function
:
ease-in
;
}
100
%
{
bottom
:
30px
;
margin-left
:
-10px
;
width
:
20px
;
height
:
5px
;
background
:
rgba
(
20
,
20
,
20
,
.3
);
box-shadow
:
0
0
20px
35px
rgba
(
20
,
20
,
20
,
.3
);
border-radius
:
20px
/
20px
;
animation-timing-function
:
ease-out
;
}
}
\ No newline at end of file
xxl-job-admin/src/main/webapp/static/plugins/pace/themes/pace-theme-flash.css
0 → 100644
浏览文件 @
e58f77dd
/* This is a compiled file, you should be editing the file in the templates directory */
.pace
{
-webkit-pointer-events
:
none
;
pointer-events
:
none
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
user-select
:
none
;
}
.pace-inactive
{
display
:
none
;
}
.pace
.pace-progress
{
background
:
#29d
;
position
:
fixed
;
z-index
:
2000
;
top
:
0
;
left
:
0
;
height
:
2px
;
-webkit-transition
:
width
1s
;
-moz-transition
:
width
1s
;
-o-transition
:
width
1s
;
transition
:
width
1s
;
}
.pace
.pace-progress-inner
{
display
:
block
;
position
:
absolute
;
right
:
0px
;
width
:
100px
;
height
:
100%
;
box-shadow
:
0
0
10px
#29d
,
0
0
5px
#29d
;
opacity
:
1.0
;
-webkit-transform
:
rotate
(
3deg
)
translate
(
0px
,
-4px
);
-moz-transform
:
rotate
(
3deg
)
translate
(
0px
,
-4px
);
-ms-transform
:
rotate
(
3deg
)
translate
(
0px
,
-4px
);
-o-transform
:
rotate
(
3deg
)
translate
(
0px
,
-4px
);
transform
:
rotate
(
3deg
)
translate
(
0px
,
-4px
);
}
.pace
.pace-activity
{
display
:
block
;
position
:
fixed
;
z-index
:
2000
;
top
:
15px
;
right
:
15px
;
width
:
14px
;
height
:
14px
;
border
:
solid
2px
transparent
;
border-top-color
:
#29d
;
border-left-color
:
#29d
;
border-radius
:
10px
;
-webkit-animation
:
pace-spinner
400ms
linear
infinite
;
-moz-animation
:
pace-spinner
400ms
linear
infinite
;
-ms-animation
:
pace-spinner
400ms
linear
infinite
;
-o-animation
:
pace-spinner
400ms
linear
infinite
;
animation
:
pace-spinner
400ms
linear
infinite
;
}
@-webkit-keyframes
pace-spinner
{
0
%
{
-webkit-transform
:
rotate
(
0deg
);
transform
:
rotate
(
0deg
);
}
100
%
{
-webkit-transform
:
rotate
(
360deg
);
transform
:
rotate
(
360deg
);
}
}
@-moz-keyframes
pace-spinner
{
0
%
{
-moz-transform
:
rotate
(
0deg
);
transform
:
rotate
(
0deg
);
}
100
%
{
-moz-transform
:
rotate
(
360deg
);
transform
:
rotate
(
360deg
);
}
}
@-o-keyframes
pace-spinner
{
0
%
{
-o-transform
:
rotate
(
0deg
);
transform
:
rotate
(
0deg
);
}
100
%
{
-o-transform
:
rotate
(
360deg
);
transform
:
rotate
(
360deg
);
}
}
@-ms-keyframes
pace-spinner
{
0
%
{
-ms-transform
:
rotate
(
0deg
);
transform
:
rotate
(
0deg
);
}
100
%
{
-ms-transform
:
rotate
(
360deg
);
transform
:
rotate
(
360deg
);
}
}
@keyframes
pace-spinner
{
0
%
{
transform
:
rotate
(
0deg
);
transform
:
rotate
(
0deg
);
}
100
%
{
transform
:
rotate
(
360deg
);
transform
:
rotate
(
360deg
);
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论