API使用Falcon框架调用另一个API

时间:2018-04-12 00:25:40

标签: python python-3.x api falconframework

我有四个用Falcon写的apis。第一个API返回一些JSON响应。第二个API使用First API来获取响应。当我独立运行First API时,我得到了响应,但是当我使用第二个API时,当第二个API使用First API调用时,我得到了读取超时异常。有什么想法吗?

localhost:port / firstapi / {123} - 独立工作正常。

loaclhost:port / secondapi 使用 localhost:port / firstapi / {123} 时。我在 localhost:port / firstapi / {123}

读取时间

PS:两条路线在firstapi.py FirstAPIResource类中注册。

1 个答案:

答案 0 :(得分:1)

我认为您正面临这个问题,因为您正在使用(运行)单个实例(Worker)。

当您尝试从第二个API调用First API时,由于第二个API已经在执行,因此falcon无法提供First API。

因此,如果这是您的要求,那么尝试使用(运行)多个实例(Workers)。

如果你已经使用了带有猎鹰的Gunicorn,那么请尝试以下命令:

即。与3名工人一起运行Gunicorn

  

gunicorn - 工作者3 -b localhost:5000 main:app

如果您不使用Gunicorn,请按照this tutorialthis one了解更多信息。

如果您需要任何进一步的帮助,请与我们联系。

另外在评论中提及,如果您使用的是Windows系统,请使用waitress代替Gunicorn。

这将在所有可用的IP地址(IPv4和IPv6)上在端口8000上运行女服务员。

from waitress import serve
serve(wsgiapp, host='0.0.0.0', port=8000)

另外,如果你想使用其他参数,比如no of thread,你可以参考this URL