push 一小段优化

master
xueli.xue 8 years ago
parent 49b4a46737
commit 5b8db953d6
  1. 12
      README.md
  2. 4
      xxl-job-admin/src/main/java/com/xxl/job/admin/core/jobbean/RemoteHttpJobBean.java
  3. 4
      xxl-job-admin/src/main/webapp/WEB-INF/template/joblog/joblog.index.ftl
  4. 2
      xxl-job-core/src/main/java/com/xxl/job/core/handler/HandlerRepository.java
  5. 2
      xxl-job-executor-example/src/main/java/com/xxl/job/executor/service/jobhandler/DemoJobHandler.java

@ -42,13 +42,16 @@ XXL-JOB是一个轻量级分布式任务调度框架,其核心设计目标是
**我司大众点评目前已接入XXL-JOB,内部别名《Ferrari》(Ferrari基于XXL-JOB的V1.1版本定制而成,新接入应用推荐升级最新版本V1.3)**。自2016-01-21接入至2016-05-20为止进行统计,该系统已调度40000余次,表现优异。新接入应用推荐使用最新版本V1.3,因为经过两个大版本的更新,系统的任务模型、UI交互模型以及底层调度通讯模型都有了较大的提升,核心功能更加稳定高效。
至今,XXL-JOB已接入多家公司的线上产品线,接入场景如电商业务,O2O业务和大数据作业等,截止2016-05-20为止,XXL-JOB已接入的公司包括不限于:
至今,XXL-JOB已接入多家公司的线上产品线,接入场景如电商业务,O2O业务和大数据作业等,截止2016-07-19为止,XXL-JOB已接入的公司包括不限于:
- 1、大众点评;
- 2、山东学而网络科技有限公司;
- 3、安徽慧通互联科技有限公司;
- 4、人人聚财金服;
- 5、上海棠棣信息科技股份有限公司
- 6、运满满
- 7、米其林(中国区)
- 8、妈妈联盟
- ……
欢迎大家的关注和使用,XXL-JOB也将拥抱变化,持续发展。
@ -253,7 +256,11 @@ XXL-JOB会为每次调度请求生成一个单独的日志文件,通过重写L
#### 4.6 版本 V1.4.0 新特性
- 1、任务依赖: 通过事件触发方式实现, 任务执行成功并回调SUCCESS时, 会主动触发一次依赖任务的调度;
- 2、调度中心任务属性调整: jobName改为系统生成, 新增任务时不需要指定;
- 2、调度中心, 新建/编辑任务, 界面属性调整:
- 2.1、"任务名JobName"属性改为系统自动生成, 任务新增/编辑界面中去除该字段: 该字段之前主要用于在 "调度中心" 唯一标示一个任务, 现实意义不大, 因此计划淡化掉该字段,改为系统生成UUID,从而简化任务新建的操作;
- 2.2、"JobHandler"属性改为系统自动生成, 更名为"JobKey", 使用时copy即可: 之前该值支持自定义,这样会出现多个调度任务调用同一个JobHandler的情况,而JobHandler在执行器是根据改值进行分组的,这就导致不同的任务存在阻塞和相互影响,因此改之;
- 2.3、"任务组" 改为 "分组";
- 2.4、"描述" 改为 "名称";
- 3、问题修复:
- 1.1、执行器jetty关闭优化,解决一处可能导致jetty无法关闭的问题;
- 1.2、执行器任务终止时,执行队列回调优化,解决一处导致任务无法回调的问题;
@ -261,6 +268,7 @@ XXL-JOB会为每次调度请求生成一个单独的日志文件,通过重写L
- 1.4、执行器Jobhandler注解优化,解决一处因事务代理导致的容器无法加载JobHandler的问题;
- 1.5、远程调度优化,禁用retry策略,解决一处可能导致重复调用的问题;
Tips: V1.3.x版本已经Release稳定版本, 进入维护阶段, 地址见分支 [V1.3](https://github.com/xuxueli/xxl-job/tree/v1.3) , 新特性将会在master分支持续更新。
#### 规划中
- 2、任务执行规则自定义:假如前一个任务正在执行,后续调度执行规则支持自定义;

@ -57,10 +57,10 @@ public class RemoteHttpJobBean extends QuartzJobBean {
params.put(HandlerParamEnum.LOG_ADDRESS.name(), XxlJobLogCallbackServer.getTrigger_log_address());
params.put(HandlerParamEnum.LOG_ID.name(), String.valueOf(jobLog.getId()));
params.put(HandlerParamEnum.EXECUTOR_HANDLER.name(), jobInfo.getExecutorHandler());
params.put(HandlerParamEnum.EXECUTOR_PARAMS.name(), jobInfo.getExecutorParam());
params.put(HandlerParamEnum.GLUE_SWITCH.name(), String.valueOf(jobInfo.getGlueSwitch()));
params.put(HandlerParamEnum.JOB_GROUP.name(), jobInfo.getJobGroup());
params.put(HandlerParamEnum.JOB_NAME.name(), jobInfo.getJobName());

@ -86,10 +86,10 @@
<th name="executorParam" >任务参数</th>
<th name="triggerTime" >调度时间</th>
<th name="triggerStatus" >调度结果</th>
<th name="triggerMsg" >调度日志</th>
<th name="triggerMsg" >调度备注</th>
<th name="handleTime" >执行时间</th>
<th name="handleStatus" >执行结果</th>
<th name="handleMsg" >执行日志</th>
<th name="handleMsg" >执行备注</th>
<th name="handleMsg" >操作</th>
</tr>
</thead>

@ -40,7 +40,7 @@ public class HandlerRepository {
*/
EXECUTOR_PARAMS,
/**
* switch of job, if open glue model
* switch of glue job: 0-no1-yes
*/
GLUE_SWITCH,
/**

@ -30,7 +30,7 @@ public class DemoJobHandler extends IJobHandler {
logger.info("XXL-JOB, Hello World.");
for (int i = 0; i < 10; i++) {
System.out.println(i);
logger.info("beat at:{}", i);
TimeUnit.SECONDS.sleep(2);
}
return JobHandleStatus.SUCCESS;

Loading…
Cancel
Save