xxl-job任务调度框架的使用

转载:https://blog.csdn.net/zjz_i/article/details/81624152
源码:http://www.xuxueli.com/xxl-job/#/?id=《分布式任务调度平台xxl-job》

一、初始化数据库

脚本位置
/xxl-job/doc/db/tables_xxl_job.sql

xxl-job-admin:调度中心

xxl-job-core:公共依赖

二、配置调度中心项目

调度中心项目:xxl-job-admin

调度中心配置

配置文件地址

/xxl-job/xxl-job-admin/src/main/resources/xxl-job-admin.properties

1-5行 配置数据库链接

16-17是登录账号密码

三、部署调度中心项目

可直接部署到tomcat下

访问地址ip/域名+端口+项目名(xxl-job-admin)

四、配置部署执行器项目(springBoot项目为例)

引入maven依赖

<dependency>
    <groupId>com.xuxueli</groupId>
    <artifactId>xxl-job-core</artifactId>
    <version>1.9.1</version>
</dependency>
@Configuration
@ComponentScan(basePackages = "com.dc.config.jobhandler")
public class XxlJobConfig {
    private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class); 

    @Value("${xxl.job.admin.addresses}")
    private String adminAddresses;

    @Value("${xxl.job.executor.appname}")
    private String appName;

    @Value("${xxl.job.executor.ip}")
    private String ip;

    @Value("${xxl.job.executor.port}")
    private int port;

    @Value("${xxl.job.accessToken}")
    private String accessToken;

    @Value("${xxl.job.executor.logpath}")
	private String logPath;

    private int logRetentionDays=-1;//Log文件定期清理

    @Bean(initMethod = "start", destroyMethod = "destroy")
    public XxlJobExecutor xxlJobExecutor() {
        logger.info(">>>>>>>>>>> xxl-job config init.");
        XxlJobExecutor xxlJobExecutor = new XxlJobExecutor();
        xxlJobExecutor.setAdminAddresses(adminAddresses);
        xxlJobExecutor.setAppName(appName);
        xxlJobExecutor.setIp(ip);
        xxlJobExecutor.setPort(port);
        xxlJobExecutor.setAccessToken(accessToken);
        xxlJobExecutor.setLogPath(logPath);
        xxlJobExecutor.setLogRetentionDays(logRetentionDays);
        return xxlJobExecutor;
    }
}

五、开发任务代码
@JobHandler(value = "exjobHandler")
@Component
public class ExJobHandler extends IJobHandler {

   @Override
   public ReturnT<String> execute(String param) throws Exception {
      System.out.println("启动");
      return SUCCESS;
   }
}
六、执行器配置

application.yml配置说明

5行是中心项目地址 执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调"。

6-8行是执行器"AppName"和地址信息配置:AppName执行器心跳注册分组依据;地址信息用于"调度中心请求并触发任务"和"执行器注册"。执行器默认端口为9999,执行器IP默认为空表示自动获取IP (port是一个内置的jetty服务端口)

9行是执行器运行日志文件存储的磁盘位置,需要对该路径拥有读写权限

xxl:
  job:
    admin:
      addresses: http://192.168.1.212:8080/xxl-job-admin
    executor:
      appname: xxl-job-executor-sample
      ip: 192.168.1.212
      port: 9999
      logpath: /data/applogs/xxl-job/jobhandler
    accessToken:

启动执行器项目、调度中心项目

登录调度中心,点击新建任务

说明:JobHandler是任务代码中@JobHandler注解value的值

触发执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值