最近想要在项目中集成powerjob,这个在worker端就比较好弄了,在你的yml里面配置连接参数就行了,但是有了worker,必须得有server才能进行正常的定时任务的调度呀。
今天就给大家分享一下,怎么将powerjob-server服务部署到服务器上面的。
如果你有mysql,就可以直接看第二步了
1. 部署mysql数据库
1.1 直接使用docker拉取mysql镜像
docker pull mysql:latest
1.2 然后使用docker-compose.yml文件进行运行
version: '3'
services:
mysql:
image: mysql:latest
restart: always
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: your_password
TZ: Asia/Shanghai
ports:
- 3306:3306
volumes:
- /***/****/mysql/data:/var/lib/mysql
- /***/****/mysql/config/my.cnf:/etc/mysql/my.cnf
command:
--max_connections=1000
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
your_password就是你创建的数据库密码。
1.3 运行mysql
docker-compose up -d
docker logs mysql -f 查看日志
运行成功后,使用navicat来连接数据库
1.4 初始化数据库
powerjob-server只需要创建一个数据库,在服务启动的时候会自动创建表,所以我们只用创建数据库就可以了
即运行SQL:CREATE DATABASE IF NOT EXISTS `powerjob-product` DEFAULT CHARSET utf8mb4
2. 部署powerjob-server服务
2.1 拉取镜像
docker pull tjqq/powerjob-server:latest
2.2 编写docker-compose.yml文件
powerjob:
image: tjqq/powerjob-server:latest
container_name: powerjob-server
restart: always
ports:
- 7700:7700
- 10086:10086
- 10010:10010
volumes:
- /***/****/powerjob:/root/powerjob/server
- ~/.m2:/root/.m2
environment:
JVMOPTIONS: "-Xmx512m"
PARAMS: "--oms.mongodb.enable=false --spring.profiles.active=product --spring.datasource.core.jdbc-url=jdbc:mysql://IP地址:3306/powerjob-product?useUnicode=true&characterEncoding=UTF-8 --spring.datasource.core.username=root --spring.datasource.core.password=123456"
***表示你自己挂在的位置
2.3 使用docker命令运行服务
2.4 验证是否启动成功
访问http://ip:7700/#/oms/home,看到下面这个界面,代表运行成功
3.worker的连接powerjob-server
3.1引入依赖
<dependency>
<groupId>tech.powerjob</groupId>
<artifactId>powerjob-worker-spring-boot-starter</artifactId>
<version>4.3.6</version>
</dependency>
3.2 配置文件编写
按照个人情况来进行替换
# akka 工作端口,可选,默认 27777
powerjob.worker.akka-port=27777
# 接入应用名称,用于分组隔离,推荐填写 本 Java 项目名称
powerjob.worker.app-name=my-powerjob-worker
# 调度服务器地址,IP:Port 或 域名,多值逗号分隔
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
# 持久化方式,可选,默认 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
启动服务,看控制台日志
代表注册成功,看你的页面,首页显示已经注册进来了,可以新建你的定时任务了!