This commit is contained in:
xueli.xue 2016-05-22 13:52:21 +08:00
parent 127dcb040e
commit 6fbdb63951
4 changed files with 10 additions and 44 deletions

View File

@ -7,6 +7,8 @@ git.osc地址http://git.oschina.net/xuxueli0323/xxl-job
技术交流群(仅作技术交流)367260654 技术交流群(仅作技术交流)367260654
[![image](http://pub.idqqimg.com/wpa/images/group.png)](http://shang.qq.com/wpa/qunwpa?idkey=4686e3fe01118445c75673a66b4cc6b2c7ce0641528205b6f403c179062b0a52)
# 特点:集群任务调度管理 # 特点:集群任务调度管理
1、简单支持通过Web页面对任务进行CRUD操作操作简单一分钟上手 1、简单支持通过Web页面对任务进行CRUD操作操作简单一分钟上手
2、动态支持动态修改任务状态动态暂停/恢复任务,即时生效; 2、动态支持动态修改任务状态动态暂停/恢复任务,即时生效;

Binary file not shown.

View File

@ -29,39 +29,15 @@
<section class="content"> <section class="content">
<div class="callout callout-info"> <div class="callout callout-info">
<h4>简介XXL_JOB</h4> <h4>简介XXL_JOB</h4>
<p>基于quartz封装实现的的集群任务调度管理平台.</p> <br>
<p></p>
</div>
<div class="callout callout-default">
<h4>特点:</h4>
<p>1、简单支持通过Web页面对任务进行CRUD操作操作简单一分钟上手.</p>
<p>2、动态支持动态修改任务状态动态暂停/恢复任务,即时生效.</p>
<p>3、集群任务信息持久化到mysql中支持Job服务器集群(高可用),一个任务只会在其中一台服务器上执行.</p>
</div>
<div class="callout callout-default">
<h4>分层模型:</h4>
<p>1、基础基于quartz封装底层调度层通过CORN自定义任务执行周期最终执行自定义JobBean的execute方法如需多个任务需要开发多个JobBean实现.</p>
<p>2、分层上述基础调度模型存在一定局限调度层和任务层耦合当新任务上线势必影响任务的正常调度因此规划将调度系统分层为调度层 + 任务层 + 通讯层.</p>
<p> <p>
<div class="row"> <a target="_blank" href="https://github.com/xuxueli/xxl-job">github地址</a><br><br>
<div class="col-xs-offset-1 col-xs-11"> <a target="_blank" href="http://git.oschina.net/xuxueli0323/xxl-job">git.osc地址</a><br><br>
<p>》调度模块:维护任务的调度信息,负责定时/周期性的发出调度请求.</p> <a target="_blank" href="http://www.cnblogs.com/xuxueli/p/5021979.html">博客地址(内附使用教程)</a><br><br>
<p>》任务模块:具体的任务逻辑,负责接收调度模块的调度请求,执行任务逻辑.</p> <a >技术交流群(仅作技术交流)367260654</a>&nbsp;&nbsp;
<p>》通讯模块:负责调度模块和任务模块之间的通讯.</p> <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>
</div>
</div>
</p> </p>
</div> <p></p>
<div class="callout callout-default">
<h4>调度属性解析 : 发出HTTP调度请求</h4>
<p>1、调度Key【必填】调度信息的全局唯一标识.</p>
<p>2、调度Corn【必填】调度执行的时间表达式.</p>
<p>3、调度描述【必填】调度的简述.</p>
<p>4、调度URL【必填】调度执行时发出HTTP请求的目标URL地址.</p>
<p>5、+args【选填】调度执行时发出HTTP请求的附带的POST参数.</p>
</div> </div>
</section> </section>
<!-- /.content --> <!-- /.content -->

View File

@ -1,13 +1,10 @@
package com.xxl.job.service.handler; package com.xxl.job.service.handler;
import java.util.concurrent.TimeUnit;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.xxl.job.client.handler.IJobHandler; import com.xxl.job.client.handler.IJobHandler;
import com.xxl.job.client.handler.IJobHandler.JobHandleStatus;
import com.xxl.job.client.handler.annotation.JobHander; import com.xxl.job.client.handler.annotation.JobHander;
/** /**
@ -21,17 +18,8 @@ public class DemoJobHandler extends IJobHandler {
@Override @Override
public JobHandleStatus handle(String... params) throws Exception { public JobHandleStatus handle(String... params) throws Exception {
logger.info(" ... params:" + params); logger.info("XXL-JOB, Hello World.");
for (int i = 0; i < 5; i++) {
TimeUnit.SECONDS.sleep(1);
logger.info("handler run:{}", i);
}
return JobHandleStatus.SUCCESS; return JobHandleStatus.SUCCESS;
} }
public static void main(String[] args) {
System.out.println(DemoJobHandler.class.getName());
System.out.println(JobHandleStatus.class);
}
} }