SpringBoot整合PowerJob 实现远程任务
创始人
2024-11-13 08:06:25
0

PowerJob介绍

PowerJob 是全新一代分布式任务调度和计算框架,提供了可视化界面,可通过单机、远程等形式调用任务并提供了运行监控和日志查看的功能模块,是当前比较流行的分布式定时任务框架之一;
PowerJob 官网文档地址

环境搭建

本文介绍的是通过远程调用的形式实现定时任务的综合治理,可直接通过官网提供的初始化项目直接进行搭建基础框架
在这里插入图片描述
git 下载命令

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

下载完成之后目录结构如下
在这里插入图片描述
其中我们只需要关注powerjob-worker-samples模块和powerjob-server下的powerjob-server-starter模块,这两个模块主要是调度服务器和使用案例,如果我们需要将起整合到项目中,这两个模块是必须的,其它的项目可生成JAR文件导入到项目中即可。
powerjob-server是我们的调度服务模块,类似于注册中心,我们需要对其进行一些简单的改善,成为我们的“利刃”。
powerjob-server-starter项目下的properties文件修改(application-daily.properties)

oms.env=DAILY logging.config=classpath:logback-dev.xml ####### Database properties(Configure according to the the environment) ####### spring.datasource.core.driver-class-name=org.postgresql.Driver spring.datasource.core.jdbc-url=jdbc:postgresql://pg10:5432/powerjob_mange spring.datasource.core.username=job_manager spring.datasource.core.password=job_manager_123 spring.datasource.core.maximum-pool-size=20 spring.datasource.core.minimum-idle=5 ####### Resource cleaning properties ####### oms.instanceinfo.retention=1 oms.container.retention.local=1 oms.container.retention.remote=-1 ####### Cache properties ####### oms.instance.metadata.cache.size=1024 ####### Threshold in precise fetching server(0~100). 100 means full detection of server, in which ####### ####### split-brain could be avoided while performance overhead would increase. ####### oms.accurate.select.server.percentage = 50 

这里我们主要是更改我们的数据地址,基础项目中还存在这样一段代码

####### Storage properties(Delete if not needed)  ####### #oms.storage.dfs.mongodb.uri=mongodb+srv://zqq:No1Bug2Please3!@cluster0.wie54.gcp.mongodb.net/powerjob_daily?retryWrites=true&w=majority oms.storage.dfs.mysql_series.driver=org.postgresql.Driver oms.storage.dfs.mysql_series.url=jdbc:mysql://powerjob-mysql:3306/powerjob-daily?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai oms.storage.dfs.mysql_series.username=root oms.storage.dfs.mysql_series.password=No1Bug2Please3! oms.storage.dfs.mysql_series.auto_create_table=true  ###### Email properties(Non-core configuration properties) ####### ###### Delete the following code to disable the mail ####### spring.mail.host=smtp.163.com spring.mail.username=zqq@163.com spring.mail.password=GOFZPNARMVKCGONV spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true spring.mail.properties.mail.smtp.starttls.required=true  ###### DingTalk properties(Non-core configuration properties) ####### ###### Delete the following code to disable the DingTalk ####### oms.alarm.ding.app-key=dingauqwkvxxnqskknfv oms.alarm.ding.app-secret=XWrEPdAZMPgJeFtHuL0LH73LRj-74umF2_0BFcoXMfvnX0pCQvt0rpb1JOJU_HLl oms.alarm.ding.agent-id=847044348 

这些配置是配置一些短信通知,数据存储的,这边就不做多的讲解了,一般没有特殊要求,不需要配置这些数据的。
powerjob-worker-samples是我们的基础框架生成出来的一个实例程序,经过博主的测试,如果不启动修改这个项目的配置文件,那么我们项目是无法正常使用的,虽然可以打开UI界面,但是无法进行其它操作
在这里插入图片描述
对powerjob-worker-samples的application.properties进行修改,修改内容如下

server.port=8081  spring.jpa.open-in-view=false  ########### powerjob-worker 配置 ########### # akka 工作端口,可选,默认 27777 powerjob.worker.akka-port=27777 # 接入应用名称,用于分组隔离,推荐填写 本 Java 项目名称 powerjob.worker.app-name=powerjob-worker-samples # 调度服务器地址,IP:Port 或 域名,多值逗号分隔 powerjob.worker.server-address=127.0.0.1:7700,127.0.0.1:7701 # 持久化方式,可选,默认 disk powerjob.worker.store-strategy=disk # 任务返回结果信息的最大长度,超过这个长度的信息会被截断,默认 8192 powerjob.worker.max-result-length=4096 # 单个任务追加的工作流上下文最大长度,超过这个长度的会被直接丢弃,默认 8192 powerjob.worker.max-appended-wf-context-length=4096 

其中需要注意一下,name的属性值是我们等下需要进行注册的用户名,需要相对于的,
具体使用在官方文档中有比较详细的介绍,我这边就不过多描述了。
这里要特别提醒一下,项目打包的时候,需要对lombok的版本进行调整

        1.18.24 

将版本调成这个版本就不会打包报错了

项目使用

在这里插入图片描述
这里只介绍者一种方式,请求参数中的URL是需要执行定时任务的请求路径,可拼接参数什么的,具体因实际需求更改。

tech.powerjob.official.processors.impl.HttpProcessor 

这个是HTTP远程请求的固定写法,不能更改的
其它的执行配置可以参考个官方文档进行使用,如有不对,欢迎指正。
参考文档https://www.yuque.com/powerjob/guidence/quick_start

相关内容

热门资讯

德州ai辅助!德州ai辅助神器... 德州ai辅助!德州ai辅助神器(德州app)详细ai辅助软件(有挂详情)1、许多玩家不知道德州ai辅...
德州之星有外挂!线上德州辅助工... 德州之星有外挂!线上德州辅助工具有哪些,(德州扑克)确实存在有挂,一分钟揭秘(有挂辅牌器);玩家必备...
德州免费辅助神器app!nzt... 您好,德州免费辅助神器app这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多...
智星德州菠萝辅助器!德州之星有... 智星德州菠萝辅助器!德州之星有没有外 挂,(德州ai)原来真的是有挂,来一盘(有挂插件);大神普及一...
智星德州菠萝!德州aiapp(... 智星德州菠萝!德州aiapp(手机德州)详细ai辅助软件(有挂黑科技);智星德州菠萝最新版本免费下载...
德州ai辅助软件!线上德州辅助... 德州ai辅助软件!线上德州辅助软件有用,(智星德州)竟然是有挂,一分钟带你了解(有挂总结);1.德州...
8分钟透视插件!wpk作弊,w... 8分钟透视插件!wpk作弊,wpk透视辅助方法,详细教程(有挂规律);1、操作简单,无需注册,只需要...
四分钟俱乐部!wpk德州局怎么... 四分钟俱乐部!wpk德州局怎么透视,wpk俱乐部有没有辅助,详细教程(有挂修改器)1、下载好辅助软件...
两分钟辅助!wpk有那种辅助吗... 两分钟辅助!wpk有那种辅助吗(透视辅助)详细辅助作弊器(其实真的有挂);1、上手简单,内置详细流程...
9分钟辅助器!wpk有作弊吗(... 9分钟辅助器!wpk有作弊吗(透视辅助)详细辅助器(真是有挂)辅助器中分为三种模型:软件透明挂辅助挂...