所有分类
  • 所有分类
  • 未分类

SpringBoot整合PowerJob-实例

简介

说明

本文用示例介绍Power Job的用法。

PowerJob是一个定时任务中间件(框架),优点很多,PowerJob官网的对比图中可以看到PowerJob比Quartz、XXL-JOB等更加优秀。

个人认为XXL-JOB与PowerJob各有优缺点,它们的对比见:SpringBoot–定时任务–选型/对比/框架_IT利刃出鞘的博客-CSDN博客

官方

官网:http://www.powerjob.tech/
文档:https://www.yuque.com/powerjob/guidence/intro
快速开始:https://www.yuque.com/powerjob/guidence/nyio9g
github:https://github.com/PowerJob/PowerJob

相关网址

PowerJob的特性:PowerJob 简介 · 语雀

实战

下载项目

git clone https://github.com/PowerJob/PowerJob.git

启动服务端

1.创建数据库(仅需要创建数据库):

CREATE DATABASE IF NOT EXISTS `powerjob-daily` DEFAULT CHARSET utf8mb4

2.修改配置文件

配置文件的说明:官方文档写的非常详细,此处不再赘述。

需要修改的地方为数据库配置:

  1. spring.datasource.core.jdbc-url
  2. spring.datasource.core.username
  3. spring.datasource.core.password

(当然,有 mongoDB 的同学也可以修改spring.data.mongodb.uri以获取完全版体验。)

本处我的配置为:

此内容仅限VIP查看,请先

运行结果

可以看到,只会有一台机器在执行。我用的是单机处理器,它会选择一台最健康的机器进行执行。

执行记录

问题及解决

问题:我设置的是CRON,每5秒执行,但它实际15秒执行一次。

原因:Powerjob的CRON模式下,时间轮是15秒扫描一次,这时间间隔不能小于15秒。若低于15秒会按15秒运行。

解决方案:改为固定频率或固定延迟进行。

修改设置如下:

执行结果:

0

评论0

请先

显示验证码
没有账号?注册  忘记密码?

社交账号快速登录