我有四个用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类中注册。
答案 0 :(得分:1)
我认为您正面临这个问题,因为您正在使用(运行)单个实例(Worker)。
当您尝试从第二个API调用First API时,由于第二个API已经在执行,因此falcon无法提供First API。
因此,如果这是您的要求,那么尝试使用(运行)多个实例(Workers)。
如果你已经使用了带有猎鹰的Gunicorn,那么请尝试以下命令:
即。与3名工人一起运行Gunicorn
gunicorn - 工作者3 -b localhost:5000 main:app
如果您不使用Gunicorn,请按照this tutorial和this 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