使用docker-compose部署mysql版本的powerjob-server服务

最近想要在项目中集成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

启动服务,看控制台日志

 代表注册成功,看你的页面,首页显示已经注册进来了,可以新建你的定时任务了!

猜你喜欢

转载自blog.csdn.net/Libigtong/article/details/133089723