class AddService:
name = 'add_service'@event_handler('productor_service', 'a')
@event_handler('productor_service', 'b')
def handle_message(self, payload: str):
logger.debug(f'handle_message {payload}')@rpc
@context_id_dec
def add(self, a: int, b: int, /, context_id: str) -> int | None:
try:logger.debug(f'收到一个加法计算请求:{a},{b},{asgi_context_id.get()}')
# time.sleep(1000)
return a+b
except Exception as error:
logger.exception(error)
return None@http('GET', '/hi')
def hi(self, request):
return "hello world"@http('GET', '/ha')
def ha(self, request):
time.sleep(10)
return 'ok'
【nameko 是一个服务一个 amqp 连接,还是每个队列 work 函数一个 amqp 连接()】
nameko run services:AddService --config ./config.yaml
使用该命令,发现只有一个连接:文章图片
class TrashCanService:
name = 'trash_scan_service'@event_handler('hi_api', 'rubbish')
def receive(self, message: str):
logger.debug(f'开始消费消息, {message}')
response = requests.get('http://127.0.0.1:50010')
logger.debug(f'{message}, {response.text}')receive.create_queue_only = True@event_handler('drop_throw_rubbish_service', 'drop_rubbish')
def receive_by_rpc(self, message: str):
passclass AddService:
name = 'add_service'@event_handler('productor_service', 'a')
@event_handler('productor_service', 'b')
def handle_message(self, payload: str):
logger.debug(f'handle_message {payload}')@rpc
@context_id_dec
def add(self, a: int, b: int, /, context_id: str) -> int | None:
try:logger.debug(f'收到一个加法计算请求:{a},{b},{asgi_context_id.get()}')
# time.sleep(1000)
return a+b
except Exception as error:
logger.exception(error)
return None@http('GET', '/hi')
def hi(self, request):
return "hello world"@http('GET', '/ha')
def ha(self, request):
time.sleep(10)
return 'ok'
但是这样,两个服务,一共两个 amqp 连接:
文章图片
所以
nameko 是一个服务一个 amqp 连接,还是每个队列 work 函数一个 amqp 连接?
这个问题的结论就是:nameko 是一个服务一个 amqp 连接推荐阅读
- 机器学习和深度学习|RealSense D435 的开发日记(API 汇总)
- 机器学习和深度学习|RealSense D435 的开发日记(pyrealsense小实战项目)
- 机器学习和深度学习|tensorflow的安装(要注意版本哦)
- Python每日一练|Python每日一练(牛客网新题库)——第10天(从入门到实践四十招)
- 程序人生|公开处刑|阿里、京东时薪对比曝光,PDD时薪行业最高
- [python刷题模板] 子序列自动机
- html|分享 82个实用的前端开发工具
- 六|6.1_4 Python3.x入门 P4 【基础】可变序列(列表list、字典dict、集合set)
- 六|6.1_2 Python3.x入门 P2 【基础】运算符