开发好物推荐6之分布式任务调度平台xxl-job

前言

分布式开发环境中,任务调度的需求基本是必不可少的。传统的最佳方案是Quartz。

但是Quartz有以下缺点

  1. 对业务系统侵入性非常严重,需要将十几张表放入业务数据库中。

  2. 没有提供界面操作,不是很人性化。

  3. 调度逻辑和QuartzJobBean耦合在同一个项目中。

在这种背景下,需要有一个更好的平台来克服以上缺点,xxl-job应运而生。

推荐理由

  • 开发迅速、学习简单、轻量级、易扩展。
  • 现已开放源代码并接入多家公司线上产品线,开箱即用。
  • 通过Web页面对任务进行CRUD操作,操作简单,一分钟上手。

  • 支持动态修改任务状态、启动/停止任务,以及终止运行中任务,即时生效。

  • 支持弹性扩容缩容,故障转移,任务超时控制,任务失败重试。

  • 任务失败时支持邮件报警,支持配置多邮件地址群发报警邮件,方便及时感知错误。

  • 样例和文档详细,持续更新迭代

实践

  1. git下载源码: https://gitee.com/xuxueli0323/xxl-job.git
  2. 导入到Eclipse或者其他开发工具
  3. 修改配置文件

开发好物推荐6之分布式任务调度平台xxl-job


4.初始化SQL脚本

开发好物推荐6之分布式任务调度平台xxl-job

  1. 启动项目,默认端口8080,项目路径xxl-job-admin


开发好物推荐6之分布式任务调度平台xxl-job


  1. 登录,默认用户名:密码 admin:123456


开发好物推荐6之分布式任务调度平台xxl-job


6.在springBoot项目中使用

6.1 POM中引入依赖

<code>         
        
            com.xuxueli
            xxl-job-core
            2.2.1-SNAPSHOT
        /<code>

6.2 执行器配置


开发好物推荐6之分布式任务调度平台xxl-job


开发好物推荐6之分布式任务调度平台xxl-job

6.3 执行器的启动类配置


开发好物推荐6之分布式任务调度平台xxl-job


6.4创建Job任务类(Bean的方法模式)


开发好物推荐6之分布式任务调度平台xxl-job

注意

<code>1、在Spring Bean实例中,开发Job方法,方式格式要求为 "public ReturnT execute(String param)"
2、为Job方法添加注解 "@XxlJob(value="自定义jobhandler名称", init = "JobHandler初始化方法", destroy = "JobHandler销毁方法")",注解value值对应的是调度中心新建任务的JobHandler属性的值。
3、执行日志:需要通过 "XxlJobLogger.log" 打印执行日志;/<code>

6.5调度中心,新建调度任务


开发好物推荐6之分布式任务调度平台xxl-job

6.6 启动项目


开发好物推荐6之分布式任务调度平台xxl-job


开发好物推荐6之分布式任务调度平台xxl-job

6.7 通过任务调度中心,启动任务


开发好物推荐6之分布式任务调度平台xxl-job

6.8 观察调度日志,查看任务是否成功


开发好物推荐6之分布式任务调度平台xxl-job


分享到:


相關文章: