当使用Python/Tornado时,是否可以在处理程序中通过http请求调用另一个API?

我已经编写了一组由Tornado web框架提供服务的python REST API。我面临的问题是这样的:在处理endpoint1或API1时,我需要获取endpoint2或API2可以提供的一些数据。因此,在endpoint1的处理程序中,我调用了如下代码:

   class endpoint1(tornado.web.RequestHandler):
    .........   

      def get(self):
      ..........
         http_client = AsyncHTTPClient()
         url = "http://127.0.0.1:8686/v1/endpoint2"
         response = yield http_client.fetch(url)

但是,代码在这一点上挂起了。我的猜测是它不起作用,因为框架目前正在为endpoint1提供服务,而我正试图在其中偷偷插入另一个请求。我正在寻找关于如何在不使用MQ或数据库的情况下使其工作的建议。我也试过使用nest_asyncio --没有用。感谢您的任何帮助

转载请注明出处:http://www.xhjyjj.com/article/20230526/1336032.html