搭建教程 https://www.yuque.com/luoqiz/docker/ucwp59
    powejob 框架介绍 https://www.yuque.com/powerjob/guidence/hczm7m

    1. <powerjob.worker.starter.version>4.0.1</powerjob.worker.starter.version>
    2. <powerjob.official.processors.version>1.1.0</powerjob.official.processors.version>
    3. <dependency>
    4. <groupId>tech.powerjob</groupId>
    5. <artifactId>powerjob-worker</artifactId>
    6. <version>${powerjob.worker.starter.version}</version>
    7. </dependency>
    8. <dependency>
    9. <groupId>tech.powerjob</groupId>
    10. <artifactId>powerjob-official-processors</artifactId>
    11. <version>${powerjob.official.processors.version}</version>
    12. </dependency>
    1. powerjob:
    2. worker:
    3. server-address: 192.168.3.25:7700
    4. app-name: pay-local
    5. # akka-port: 27777
    6. max-appended-wf-context-length: 16384
    7. max-result-length: 16384
    8. store-strategy: disk

    注意事项: 我在开发的时候碰到worker注册的akka地址不正确,究其原因是我安装了zerotier-one,其生成的虚拟网卡被默认使用,所以worker运行时需要指定网卡。指定网卡必须在运行时的jvm参数修改 -Dpowerjob.network.interface.preferred="Realtek PCIe GbE Family Controller" 其它方式不可用。
    image.png

    Linux 查看网卡名称 ifconfig

    1. [root@pay ~]# ifconfig
    2. docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    3. inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
    4. inet6 fe80::42:3aff:fe01:da7e prefixlen 64 scopeid 0x20<link>
    5. ether 02:42:3a:01:da:7e txqueuelen 0 (Ethernet)
    6. RX packets 719157 bytes 380835206 (363.1 MiB)
    7. RX errors 0 dropped 0 overruns 0 frame 0
    8. TX packets 936651 bytes 292035283 (278.5 MiB)
    9. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
    10. ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    11. inet 192.168.3.25 netmask 255.255.255.0 broadcast 192.168.3.255
    12. inet6 fe80::c648:c2fa:aa61:dfa3 prefixlen 64 scopeid 0x20<link>
    13. ether 00:50:56:8d:35:e5 txqueuelen 1000 (Ethernet)
    14. RX packets 1853894 bytes 893297825 (851.9 MiB)
    15. RX errors 0 dropped 1757 overruns 0 frame 0
    16. TX packets 1396546 bytes 219108395 (208.9 MiB)
    17. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
    18. lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
    19. inet 127.0.0.1 netmask 255.0.0.0
    20. inet6 ::1 prefixlen 128 scopeid 0x10<host>
    21. loop txqueuelen 1000 (Local Loopback)
    22. RX packets 1301653 bytes 505240697 (481.8 MiB)
    23. RX errors 0 dropped 0 overruns 0 frame 0
    24. TX packets 1301653 bytes 505240697 (481.8 MiB)
    25. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
    26. veth37bde42: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    27. inet6 fe80::4b0:8ff:fe89:dcaf prefixlen 64 scopeid 0x20<link>
    28. ether 06:b0:08:89:dc:af txqueuelen 0 (Ethernet)
    29. RX packets 6298 bytes 1404783 (1.3 MiB)
    30. RX errors 0 dropped 0 overruns 0 frame 0
    31. TX packets 6616 bytes 521062 (508.8 KiB)
    32. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
    33. veth899a11c: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    34. inet6 fe80::1cf0:52ff:fe02:e32c prefixlen 64 scopeid 0x20<link>
    35. ether 1e:f0:52:02:e3:2c txqueuelen 0 (Ethernet)
    36. RX packets 315347 bytes 71506015 (68.1 MiB)
    37. RX errors 0 dropped 0 overruns 0 frame 0
    38. TX packets 313133 bytes 84401958 (80.4 MiB)
    39. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
    40. vethc04e18f: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    41. inet6 fe80::d4a1:8fff:fe62:cbb1 prefixlen 64 scopeid 0x20<link>
    42. ether d6:a1:8f:62:cb:b1 txqueuelen 0 (Ethernet)
    43. RX packets 374862 bytes 301742159 (287.7 MiB)
    44. RX errors 0 dropped 0 overruns 0 frame 0
    45. TX packets 603035 bytes 202674566 (193.2 MiB)
    46. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    image.png
    windows获取网卡名称命令 ipconfig /all

    1. C:\Users\EDZ>ipconfig /all
    2. Windows IP 配置
    3. 主机名 . . . . . . . . . . . . . : WINDOWS-Q1CF71D
    4. DNS 后缀 . . . . . . . . . . . :
    5. 节点类型 . . . . . . . . . . . . : 混合
    6. IP 路由已启用 . . . . . . . . . . :
    7. WINS 代理已启用 . . . . . . . . . :
    8. 以太网适配器 以太网:
    9. 连接特定的 DNS 后缀 . . . . . . . :
    10. 描述. . . . . . . . . . . . . . . : Realtek PCIe GbE Family Controller
    11. 物理地址. . . . . . . . . . . . . : A8-A1-59-05-59-9B
    12. DHCP 已启用 . . . . . . . . . . . :
    13. 自动配置已启用. . . . . . . . . . :
    14. 本地链接 IPv6 地址. . . . . . . . : fe80::5d51:6336:68c1:2b2d%4(首选)
    15. IPv4 地址 . . . . . . . . . . . . : 192.168.10.44(首选)
    16. 子网掩码 . . . . . . . . . . . . : 255.255.254.0
    17. 获得租约的时间 . . . . . . . . . : 2021425 16:46:23
    18. 租约过期的时间 . . . . . . . . . : 2021426 0:46:23
    19. 默认网关. . . . . . . . . . . . . : 192.168.10.1
    20. DHCP 服务器 . . . . . . . . . . . : 192.168.10.1
    21. DHCPv6 IAID . . . . . . . . . . . : 329818457
    22. DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-25-57-5A-F2-A8-A1-59-05-59-9B
    23. DNS 服务器 . . . . . . . . . . . : 10.1.1.1
    24. 119.29.29.29
    25. TCPIP 上的 NetBIOS . . . . . . . : 已启用
    26. 以太网适配器 VMware Network Adapter VMnet1:
    27. 连接特定的 DNS 后缀 . . . . . . . :
    28. 描述. . . . . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet1
    29. 物理地址. . . . . . . . . . . . . : 00-50-56-C0-00-01
    30. DHCP 已启用 . . . . . . . . . . . :
    31. 自动配置已启用. . . . . . . . . . :
    32. 本地链接 IPv6 地址. . . . . . . . : fe80::1930:ae0e:fc9:7663%6(首选)
    33. IPv4 地址 . . . . . . . . . . . . : 192.168.247.1(首选)
    34. 子网掩码 . . . . . . . . . . . . : 255.255.255.0
    35. 默认网关. . . . . . . . . . . . . :
    36. DHCPv6 IAID . . . . . . . . . . . : 134238294
    37. DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-25-57-5A-F2-A8-A1-59-05-59-9B
    38. DNS 服务器 . . . . . . . . . . . : fec0:0:0:ffff::1%1
    39. fec0:0:0:ffff::2%1
    40. fec0:0:0:ffff::3%1
    41. TCPIP 上的 NetBIOS . . . . . . . : 已启用
    42. 以太网适配器 VMware Network Adapter VMnet8:
    43. 连接特定的 DNS 后缀 . . . . . . . :
    44. 描述. . . . . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet8
    45. 物理地址. . . . . . . . . . . . . : 00-50-56-C0-00-08
    46. DHCP 已启用 . . . . . . . . . . . :
    47. 自动配置已启用. . . . . . . . . . :
    48. 本地链接 IPv6 地址. . . . . . . . : fe80::3496:5380:5cb2:2e6f%8(首选)
    49. IPv4 地址 . . . . . . . . . . . . : 192.168.153.1(首选)
    50. 子网掩码 . . . . . . . . . . . . : 255.255.255.0
    51. 默认网关. . . . . . . . . . . . . :
    52. DHCPv6 IAID . . . . . . . . . . . : 268456022
    53. DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-25-57-5A-F2-A8-A1-59-05-59-9B
    54. DNS 服务器 . . . . . . . . . . . : fec0:0:0:ffff::1%1
    55. fec0:0:0:ffff::2%1
    56. fec0:0:0:ffff::3%1
    57. TCPIP 上的 NetBIOS . . . . . . . : 已启用
    58. 以太网适配器 ZeroTier One [83048a063288b166]:
    59. 连接特定的 DNS 后缀 . . . . . . . :
    60. 描述. . . . . . . . . . . . . . . : ZeroTier Virtual Port
    61. 物理地址. . . . . . . . . . . . . : 66-84-E3-C2-71-A5
    62. DHCP 已启用 . . . . . . . . . . . :
    63. 自动配置已启用. . . . . . . . . . :
    64. 本地链接 IPv6 地址. . . . . . . . : fe80::bdb7:929e:60d:16d6%9(首选)
    65. IPv4 地址 . . . . . . . . . . . . : 10.244.187.3(首选)
    66. 子网掩码 . . . . . . . . . . . . : 255.255.0.0
    67. 默认网关. . . . . . . . . . . . . : 25.255.255.254
    68. DHCPv6 IAID . . . . . . . . . . . : 342263011
    69. DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-25-57-5A-F2-A8-A1-59-05-59-9B
    70. DNS 服务器 . . . . . . . . . . . : fec0:0:0:ffff::1%1
    71. fec0:0:0:ffff::2%1
    72. fec0:0:0:ffff::3%1
    73. TCPIP 上的 NetBIOS . . . . . . . : 已启用

    image.png
    编写案例

    1. // 支持 SpringBean 的形式
    2. @Component
    3. public class BasicProcessorDemo implements BasicProcessor {
    4. @Resource
    5. private MysteryService mysteryService;
    6. @Override
    7. public ProcessResult process(TaskContext context) throws Exception {
    8. // 在线日志功能,可以直接在控制台查看任务日志,非常便捷
    9. OmsLogger omsLogger = context.getOmsLogger();
    10. omsLogger.info("BasicProcessorDemo start to process, current JobParams is {}.", context.getJobParams());
    11. // TaskContext为任务的上下文信息,包含了在控制台录入的任务元数据,常用字段为
    12. // jobParams(任务参数,在控制台录入),instanceParams(任务实例参数,通过 OpenAPI 触发的任务实例才可能存在该参数)
    13. // 进行实际处理...
    14. mysteryService.hasaki();
    15. // 返回结果,该结果会被持久化到数据库,在前端页面直接查看,极为方便
    16. return new ProcessResult(true, "result is xxx");
    17. }
    18. }

    此时启动后查看web控制台
    image.png

    image.png

    此时查看控制台打印,应该是没有问题的,也可以web查看日志
    image.png