类AddService:name='add_service'@event_handler('productor_service','a')@event_handler('productor_service','b')defhandle_message(self,payload:str):logger.debug(f'handle_message{payload}')@rpc@context_id_decdefadd(self,a:int,b:int,/,context_id:str)->int|None:try:logger.debug(f'receivedanadditioncalculationrequest:{a},{b},{asgi_context_id.get()}')#time.sleep(1000)returna+b除了Exceptionaserror:logger.exception(error)returnNone@http('GET','/hi')defhi(self,request):返回“helloworld”@http('GET','/ha')defha(self,request):time.sleep(10)return'ok'namekorunservices:AddService--config./config.yaml使用这个命令,发现只有一个连接:classTrashCanService:name='trash_scan_service'@event_handler('hi_api','垃圾')defreceive(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')defreceive_by_rpc(self,message:str):passclassAddService:name='add_service'@event_handler('productor_service','a')@event_handler('productor_service','b')defhandle_message(self,payload:str):logger.debug(f'handle_message{payload}')@rpc@context_id_decdefadd(self,a:int,b:int,/,context_id:str)->int|None:try:logger.debug(f'收到一个加法计算请求:{a},{b},{asgi_context_id.get()}')#time.sleep(1000)returna+bexceptExceptionaserror:logger.exception(error)返回None@http('GET','/hi')defhi(self,request):return"helloworld"@http('GET','/ha')defha(self,要求):时间.sleep(10)return'ok'但像这样,两个服务,总共两个amqp连接:nameko是每个服务一个amqp连接,还是每个队列工作函数一个amqp连接?这道题的结论是:nameko是一个服务,是一个amqp连接
