目录

官方文档: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应用中配置的名称相同)

三、配置和启动worker应用程序

四、创建任务


官方文档: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,并编写了两个定时任务,分别为JobOneJobTwo
启动workder应用程序

四、创建任务

tech.powerjob.samples.processors. StandaloneProcessorDemo

tech.powerjob.samples.processors为类名;StandaloneProcessorDemo为方法名称

当workder应用程序运行后,就会在任务实例中看到两个任务运行的状态和日志

程序代码结构如下:

日志数据如下:

MyPowerProcessor类(简单的任务执行

若在工作台配置了此认为的执行配置为“单机执行”,集群中只会有一台机器执行;

若配置了“广播执行”,则集群中的每一台机器都会按照规定的频率执行任务

MyBroadcastProcessor类继承BroadcastProcessor(任务有前置方法preProcess和后续方法postProcess的执行

若在工作台配置了“广播执行”,(preProcess方法和postProcess在一个周期内会被执行一次;process方法会被执行多次,也就是说若集群为三台服务器;如果工作台对此任务的执行配置设置为广播执行,那么preProcess方法和postProcess只被一台机器执行一次,而process方法会被三台机器分别执行)

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐