定时任务监控(二)-xxl-job

定时任务监控(二)-xxl-job,第1张

定时任务监控(二)-xxl-job

定时任务监控(一)-Quartz

概述

XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。

xxl-job由调度中心执行器组成。

调度中心负责管理调度,按照调度配置发出调度请求,自身不承担业务代码执行器接收调度请求并执行任务逻辑

可以将调度中心理解成注册中心,执行器理解成一个个微服务。其运行模式就是在调度中心维护任务的调度(cron等),到了任务运行时间后调度中心向执行器发出任务执行的请求,执行器接收到请求之后去找到对应的任务入口,执行任务代码逻辑,之后返回给调度中心执行结果及日志等。

使用方式 搭建调度中心

调度中心的搭建非常简单,直接去下载官方源码即可xxl-job
数据库表搭建:执行doc下的sql文件

下载完成之后使用idea打开,修改配置文件中的数据库信息为刚才所建表

修改完成之后直接运行项目,默认启动端口8080
默认访问地址http://localhost:8080/xxl-job-admin/toLogin,默认登录账号 “admin/123456”, 登录后运行界面如下图所示。

执行器配置

执行器可以新建一个项目或是在任意项目上进行改造,其方式如下:
引入maven依赖,这里版本最好与你调度中心的版本一样


    com.xuxueli
    xxl-job-core
    2.3.0

在配置文件加入配置,这里需要我们注意的主要为xxl.job.admin.addresses、xxl.job.executor.appname、xxl.job.executor.port三个参数

xxl.job.admin.addresses为调度中心地址,集群模式下用逗号分割xxl.job.executor.appname为执行器名称xxl.job.executor.port为执行器端口

### 调度中心部署跟地址 [选填]:如调度中心集群部署存在多个地址则用逗号分隔。执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调";为空则关闭自动注册;
xxl:
  job:
    accessToken:
    admin:
      addresses: http://127.0.0.1:8080/xxl-job-admin
    executor:
      address:
      appname: xxl-job-executor-sample-thz1
      ip:
      port: 9999
      logpath: /data/applogs/xxl-job/jobhandler
      logretentiondays: 30

编写你的定时任务逻辑,在其方法上加上@XxlJob注释,value值为任务名称(记得在类上加入@Component注解)

@XxlJob("thztest")
public void thztest() throws Exception {
    XxlJobHelper.log("XXL-JOB, Hello World.");

    for (int i = 0; i < 5; i++) {
        System.out.println("thz at:" + i);
        XxlJobHelper.log("beat at:" + i);
        TimeUnit.SECONDS.sleep(2);
    }
    // default success
}

至此执行器配置完毕,进入调度中心进行配置
在执行器管理中点击新增,这里的appName就是刚才在执行器中配置的appName。名称为自己随意命名,选择自动注册后点击保存。

此时我们将执行器项目启动,在刷新页面就能看到 如下效果

进入任务管理,在对应的执行器下新建任务
运行模式选择BEAN,JobHandler的值即为刚才在执行器中添加@XxlJob注解的value值

任务创建后默认为停止状态,需要手动启动

此时可在执行器中看到任务已被触发

可在调度日志中查看日志

日志需要使用xxl-job提供的log方法自己在代码中按需嵌入

更多使用方法参考官方文档把,这里就不在赘述了。官方文档

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5707028.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存