我有两个使用 Falcon 编写的 API。第一个 API 返回一些 JSON 响应。第二个 API 使用第一个 API 来获取其响应。当我独立运行第一个 API 时,我得到响应,但当我使用第二个 API 时,当第二个 API 使用第一个 API 调用时,我会收到读取超时异常。知道吗?
本地主机:端口/firstAPI/{123} - 独立工作正常。
当 loaclhost:port/secondapi 使用 localhost:port/firstapi/{123} 时。我在 localhost:port/firstapi/{123} 上得到读取超时
PS : 这两个路由在 FirstAPIResource 类中注册 firstapi.py。
我认为您面临此问题是因为您正在使用(正在运行(单个实例(Worker(。
当您尝试从第二个 API 调用第一个 API 时,falcon 无法将第一个 API 作为第二个 API 提供,因为第二个 API 已经在执行。
因此,如果这是您的要求,请尝试使用(运行(多个实例(工作线程(。
如果您已经在将独角兽与猎鹰一起使用,请尝试以下命令:
即用 3 名工人运行独角兽
枪角兽 --工人 3 -B 本地主机:5000 主:应用
如果您不使用 Gunicorn,那么有关更多信息,请遵循本教程和本教程。
如果您需要任何进一步的帮助,请告诉我。
另外,正如评论中提到的,如果您使用的是Windows系统,请使用女服务员而不是独角兽。
这将在所有可用的 IP 地址(IPv4 和 IPv6(上的端口 8000 上运行女服务员。
from waitress import serve
serve(wsgiapp, host='0.0.0.0', port=8000)
此外,如果您想使用其他参数,例如没有线程,您可以引用此URL