Xxl-Job

  • 简要说明

    • XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展
    • 现已开放源代码并接入多家公司线上产品线,开箱即用
    # 开源地址
    https://github.com/xuxueli/xxl-job/tree/master

12.1 容器部署

12.1.1 数据准备

  • 操作如下

    • 创建数据库
    # 参考官方初始化sql文档 https://github.com/xuxueli/xxl-job/blob/master/doc/db/tables_xxl_job.sql
    create database xxl_job default character set utf8mb4 collate utf8mb4_unicode_ci;
    GRANT ALL ON xxl_job.* TO 'xxl'@'%';
    flush privileges;
    • 导入初始化数据
    # 方式一
    mysql -uroot -p xxl_job < tables_xxl_job.sql
    # 方式二: 数据库用Docker起的
    docker cp tables_xxl_job.sql 24f45371ce18:/tmp/tables_xxl_job.sql
    docker exec 24f45371ce18 mysql -uroot -p -D xxl_job -e "source /tmp/tables_xxl_job.sql"

12.1.2 创建容器

  • 操作如下

    • 创建目录
    $ mkdir xxl-job && cd  xxl-job
    • application.yml
    server:
    port: 8080
    servlet:
      context-path: /xxl-job-admin
    
    spring:
    datasource:
      url: jdbc:mysql://192.168.26.24:3307/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
      username: root
      password: 123
      driver-class-name: com.mysql.jdbc.Driver
    mail:
      host: smtp.qq.com
      port: 25
      username: xxx@qq.com
      password: xxx
      properties:
        mail.smtp.auth: true
        mail.smtp.starttls.enable: true
        mail.smtp.starttls.required: true
        mail.smtp.socketFactory.class: javax.net.ssl.SSLSocketFactory
    
    xxl:
    job:
      accessToken: ""
      i18n: zh_CN
      triggerpool:
        fast:
          max: 200
        slow:
          max: 100
      logretentiondays: 30
    • docker-compose.yaml
    version: '3.5'
    services:
    xxl-job:
      image: xuxueli/xxl-job-admin:2.5.0
      container_name: qianliao-xxl-job
      restart: always
      ports:
        - "8080:8080"
      volumes:
        - ./application.yml:/config/application.yml:ro
        - ./logs:/data/applogs
    • 创建容器
    docker-compose up -d
    • 访问测试 http://192.168.26.24:8080/xxl-job-admin/
    # 默认账号密码
    admin 123456