powerjob的上手操作
PowerJob是全新一代分布式任务调度与计算框架
目录
一、下载源代码(下载v5.0.1-beta版本)http://www.powerjob.tech编辑
2.2、配置powerjob-server-starter的application-daily.properties
2.3配置powerjob-server-starter的application.properties
其他都不变,添加如下配置(登录管理后台的密码为powerjob_admin)
2.4、启动服务PowerJobServerApplication
2.5、创建命名空间(dev开发环境、prod生产环境、local本地环境)
2.6、创建应用管理(应用管理要与workder应用中配置的名称相同)
官方文档:PowerJob 简介 · 语雀
同类产品相比
一、下载源代码(下载v5.0.1-beta版本)http://www.powerjob.tech
二、解压和配置
解压后的文件目录如下
powerjob-server-starter是调度服务器,也就是web操作界面;
Powerjob-worker-sample是编写任务的程序。
2.1、创建数据库:执行如下代码
create database `powerjob-daily` default character set utf8mb4 collate utf8mb4_general_ci;
2.2、配置powerjob-server-starter的application-daily.properties
主要是修改数据库的IP地址、以及用户名和密码
spring.datasource.core.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.core.jdbc-url=jdbc:mysql://127.0.0.1:3306/powerjob-daily?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.core.username=root
spring.datasource.core.password=qweasdzxc12345
spring.datasource.core.maximum-pool-size=20
spring.datasource.core.minimum-idle=5
oms.storage.dfs.mysql_series.driver=com.mysql.cj.jdbc.Driver
oms.storage.dfs.mysql_series.url=jdbc:mysql://127.0.0.1:3306/powerjob-daily?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
oms.storage.dfs.mysql_series.username=root
oms.storage.dfs.mysql_series.password=qweasdzxc12345
oms.storage.dfs.mysql_series.auto_create_table=true
2.3配置powerjob-server-starter的application.properties
其他都不变,添加如下配置(登录管理后台的密码为powerjob_admin)
oms.auth.initiliaze.admin.password=powerjob_admin
2.4、启动服务PowerJobServerApplication
访问地址为:http://127.0.0.1:7700
点击注册按钮,username输入为zhangyanfen(注册任意账号都可以),密码为:asdf,点击注册按钮
返回到上一个页面,输入刚才注册的也用户名zhangyanfen和密码asdf,点击登录
2.5、创建命名空间(dev开发环境、prod生产环境、local本地环境)
2.6、创建应用管理(应用管理要与workder应用中配置的名称相同)
点击“进入”后,此时因为worker应用程序还没有启动,为此集群机器数为0
三、配置和启动worker应用程序
server.port=8081
spring.jpa.open-in-view=false
########### PowerJob-worker properties. ###########
# Whether to enable PowerJob Worker, default is true
powerjob.worker.enabled=true
# Turn on test mode and do not force the server connection to be verified
powerjob.worker.allow-lazy-connect-server=false
# Transport port, default is 27777
powerjob.worker.port=27777
# Application name, used for grouping applications. Recommend to set the same value as project name.
powerjob.worker.app-name=powerjob-worker-zyf
# Address of PowerJob-server node(s). Ip:port or domain. Multiple addresses should be separated with comma.
powerjob.worker.server-address=127.0.0.1:7700,127.0.0.1:7701
# 通讯协议,4.3.0 开始支持 HTTP 和 AKKA 两种协议,官方推荐使用 HTTP 协议(注意 server 和 worker 都要开放相应端口)
powerjob.worker.protocol=http
# Store strategy of H2 database. disk or memory. Default value is disk.
powerjob.worker.store-strategy=disk
# 任务返回结果信息的最大长度,超过这个长度的信息会被截断,默认值 8192
powerjob.worker.max-result-length=4096
# 单个任务追加的工作流上下文最大长度,超过这个长度的会被直接丢弃,默认值 8192
powerjob.worker.max-appended-wf-context-length=4096
# 同时运行的轻量级任务数量上限
powerjob.worker.max-lightweight-task-num=1024
# 同时运行的重量级任务数量上限
powerjob.worker.max-heavy-task-num=64
创建一个类StandaloneProcessorDemo继承BasicProcessor,并编写了两个定时任务,分别为JobOne和JobTwo
启动workder应用程序
四、创建任务
tech.powerjob.samples.processors. StandaloneProcessorDemo tech.powerjob.samples.processors为类名;StandaloneProcessorDemo为方法名称
当workder应用程序运行后,就会在任务实例中看到两个任务运行的状态和日志
程序代码结构如下:
日志数据如下:
MyPowerProcessor类(简单的任务执行)
若在工作台配置了此认为的执行配置为“单机执行”,集群中只会有一台机器执行;
若配置了“广播执行”,则集群中的每一台机器都会按照规定的频率执行任务
MyBroadcastProcessor类继承BroadcastProcessor(任务有前置方法preProcess和后续方法postProcess的执行)
若在工作台配置了“广播执行”,(preProcess方法和postProcess在一个周期内会被执行一次;process方法会被执行多次,也就是说若集群为三台服务器;如果工作台对此任务的执行配置设置为广播执行,那么preProcess方法和postProcess只被一台机器执行一次,而process方法会被三台机器分别执行)
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)