Skip to content

Commit 437f851

Browse files
committed
chore: update
1 parent 142ba0b commit 437f851

File tree

4 files changed

+49
-6
lines changed

4 files changed

+49
-6
lines changed

packages/try-nats/py/README.md

+21-2
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,19 @@ pip install nats-py
2727

2828
## Deployment(Docker-compose):
2929

30+
- 基于 `docker-compose` 部署
31+
32+
3033
### build
3134

3235
- build base image:
3336

3437
```ruby
3538

39+
# build python3.12 base images:
40+
task df:py:bt312
41+
42+
# build nats base image:
3643
task pkg:npy:ops:base -- build
3744

3845

@@ -41,13 +48,25 @@ task pkg:npy:ops:base -- build
4148

4249
### deploy `pub` service:
4350

44-
-
51+
- run:
4552

4653

54+
```ruby
55+
56+
task pkg:npy:ops:pub -- up -d
57+
58+
```
59+
4760
### deploy `sub` service:
4861

62+
- run:
63+
4964
```ruby
65+
# 方式 1: 启动 1 个容器实例
66+
task pkg:npy:ops:sub -- up -d
67+
task pkg:npy:ops:sub -- logs -f
5068

51-
task ops:sub -- up -d
69+
# 方式 2: 启动 3 个容器实例
70+
docker-compose -f compose-sub.yml up -d --scale py-nats-sub=3
5271

5372
```

packages/try-nats/py/Taskfile.yml

+4-1
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,11 @@ tasks:
6060
- docker-compose -f compose-pub.yml {{.CLI_ARGS}}
6161

6262
sub:up:
63+
aliases: [ "compose:sub:up", "up:sub" ]
6364
cmds:
64-
- docker-compose -f compose-sub.yml up -d --scale py-nats-sub=3
65+
- docker-compose -f compose-sub.yml up -d --scale py-nats-sub=3 # TODO X: --scale 可以启动多个容器实例
6566
- docker-compose -f compose-sub.yml ps
6667
- docker-compose -f compose-sub.yml logs -f
6768
ignore_error: true
69+
70+

packages/try-nats/py/compose-pub.yml

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
##########################################################################################
2+
# python nats sub service:
3+
#
4+
##########################################################################################
5+
6+
version: '3.5'
7+
8+
services:
9+
py-nats-pub:
10+
extends:
11+
file: compose-base.yml
12+
service: py-nats-base
13+
ports: [ ]
14+
restart: no
15+
command: "python3 src/try_nats/run_pub.py"
16+

packages/try-nats/py/src/try_nats/run_pub.py

+8-3
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,27 @@
11
import asyncio
22

33
from nats.aio.client import Client as NATS
4-
4+
from loguru import logger
55

66
async def main():
7+
#
8+
# TODO X: docker 容器内访问, 需要使用本地真实 IP, 不可使用 localhost
9+
#
10+
host = "nats://10.211.1.58:4222"
711
nc = NATS()
812

9-
await nc.connect("nats://localhost:4222")
13+
await nc.connect(host)
1014

1115
#
1216
# todo x: 并发测试, 测试 run_multi_sub.py 基于 queue 方式订阅, 处理唯一性
1317
#
1418
for i in range(10):
19+
logger.debug(f"Nats Publish: msg {i}")
1520
await nc.publish("updates", f"Message {i}".encode())
1621

1722
await nc.publish("updates", b'Hello NATS!')
1823

19-
print("Message published!")
24+
logger.debug("Message published!")
2025

2126
await nc.close()
2227

0 commit comments

Comments
 (0)