PowerJob初体验

PowerJob 部署记录

一、Docker方式

调度中心(PowerJob-Server)部署

  1. 使用docker拉取服务端最新镜像

    (最新版本请参考 Docker Hub):

docker pull tjqq/powerjob-server:latest

docker run -d \
             --restart=always \
       --name powerjob-server \
       -p 7700:7700 -p 10086:10086 -p 10010:10010 \
       -e TZ="Asia/Shanghai" \
       -e JVMOPTIONS="" \
       -e PARAMS="--spring.profiles.active=product --spring.datasource.core.jdbc-url=jdbc:mysql://192.168.1.113:3307/powerjob-product?useUnicode=true&characterEncoding=UTF-8 --spring.datasource.core.username=root --spring.datasource.core.password=yimai@2024 --spring.data.mongodb.uri=mongodb://192.168.1.113:27017/powerjob-product" \
       -v ~/docker/powerjob-server:/root/powerjob/server -v ~/.m2:/root/.m2 \
       tjqq/powerjob-server:latest

行1: docker run -d :创建 docker 容器,-d 参数指定为后台运行

行2:指定该容器随着 docker 启动而自启

行3:指定容器名称

行4:指定宿主机与容器的端口映射关系(默认使用 Bridge 网络模式)

行5:时区,默认时区为中国标准时区(Asia/Shanghai),国外用户请修改为正确的时区

行6:JVM启动参数,有需求的可以自己添加(-Xmx、-Xms、-Xmn等)

行7:通过-e Params=""传入 SpringBoot 启动参数,详细参数见上表(最小配置为示例参数,需要传入配置文件名称、JDBC_URL、数据库用户名、数据库密码)

行8:映射数据卷,强烈建议映射/roo**t/powerjob/server和/root/.m2这两个路径**,前者存储了 powerjob-server所有的运行时文件(日志),后者可以避免使用 maven 编译容器时重复下载依赖的问题(详见容器章节)。

行9:指定使用的 docker 镜像

执行器(powerjob-worker)初始化

方式一: 基于宿主应用的初始化

PowerJob官方语雀文档

方式一: 基于代理应用(powerjob-agent)的初始化

agent 是一个仅集成了官方处理器的执行器(其实就是为 worker 加了一个 main 方法),如果常见需求为脚本的调度执行,可以考虑直接部署 agent,简单快捷方便~

推荐直接使用 Docker 部署:powerjob-agent

与 server 一样,启动参数通过环境变量-e PARAMS传入,全部参数请见底部。

docker pull tjqq/powerjob-agent:latest

docker run -d \
    --restart=always \
    --name perform-hub-powerjob-agent \
    -e PARAMS="--app perform-hub --server 192.168.1.113:7700" \
    -p 27777:27777 \
    -v ~/docker/powerjob-agent:/root \
    tjqq/powerjob-agent:latest

或直接启动 agent 的jar包:java -jar powerjob-worker-agent-3.1.0.jar -a my-agent -s 127.0.0.1:7700

Usage: PowerJobAgent [-hV] -a=<appName> [-e=<storeStrategy>] [-l=<length>]
                     [-o=<protocol>] [-p=<port>] -s=<server> [-t=<tag>]
powerjob-worker agent
  -a, --app=<appName>     worker-agent's name
  -e, --persistence=<storeStrategy>
                          storage strategy, DISK or MEMORY
  -h, --help              Show this help message and exit.
  -l, --length=<length>   ProcessResult#msg max length
  -o, --protocol=<protocol>
                          transporter protocol, AKKA or HTTP
  -p, --port=<port>       transporter working port, not recommended to change
  -s, --server=<server>   oms-server's address, IP:Port OR domain
  -t, --tag=<tag>         worker-agent's tag
  -V, --version           Print version information and exit.

使用规范:

注册一个账号只给一个系统使用, 假如如履约平台中有大量定时任务调度场景, 那么就场景一个perform-hub/12345678账号, 这个账号只管理履约平台相关定时任务.

上述部署powerjob-agent中 --app的参数其实是注册的账号, 每注册一个账号需要启动一个powerjob-agent, 且--app参数需要与注册的账号一致才会工作.

也就是说powerjob-agent启动后会根据--app的参数去powerjob-server中执行该账号的定时任务(个人愚见)

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值