master
xueli.xue 9 years ago
parent 127dcb040e
commit 6fbdb63951
  1. 2
      README.md
  2. BIN
      doc/XXL-JOB1.3.x用户手册.docx
  3. 38
      xxl-job-admin/src/main/webapp/WEB-INF/template/help.ftl
  4. 14
      xxl-job-client-demo/src/main/java/com/xxl/job/service/handler/DemoJobHandler.java

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

Binary file not shown.

@ -29,39 +29,15 @@
<section class="content">
<div class="callout callout-info">
<h4>简介:XXL_JOB</h4>
<p>基于quartz封装实现的的集群任务调度管理平台.</p>
<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>
<br>
<p>
<div class="row">
<div class="col-xs-offset-1 col-xs-11">
<p>》调度模块:维护任务的调度信息,负责定时/周期性的发出调度请求.</p>
<p>》任务模块:具体的任务逻辑,负责接收调度模块的调度请求,执行任务逻辑.</p>
<p>》通讯模块:负责调度模块和任务模块之间的通讯.</p>
<p>(总而言之,一条完整任务由 “调度信息” 和 “任务信息” 组成.)</p>
</div>
</div>
<a target="_blank" href="https://github.com/xuxueli/xxl-job">github地址</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 >技术交流群(仅作技术交流):367260654</a>&nbsp;&nbsp;
<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>
</div>
<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>
<p></p>
</div>
</section>
<!-- /.content -->

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

Loading…
Cancel
Save