138得票14回答
快速API出现错误(错误加载ASGI应用程序。无法导入模块“api”)。

我尝试使用uvicorn web服务器运行FastAPI,但出现了错误。 我运行了以下命令:uvicorn api:app --reload --host 0.0.0.0 但是终端出现了一个错误。Uvicorn running on http://0.0.0.0:8000 (Press CTR...

47得票1回答
Uvicorn和Gunicorn+Uvicorn有什么区别?

什么是使用Uvicorn部署FastAPI应用程序和Tiangolo的Gunicorn + Uvicorn容器化的区别?为什么我的结果表明,仅使用Uvicorn部署比Gunicorn + Uvicorn获得更好的结果? 当我在Tiangolo的文档中搜索时,它说: 您可以使用Gunicor...

47得票1回答
如何在FastAPI中进行多进程处理

在为 FastAPI 请求提供服务时,我需要对列表的每个元素执行一个 CPU 绑定任务。我想在多个 CPU 核上执行这些处理。 在 FastAPI 中应该如何正确实现?我可以使用标准的 multiprocessing 模块吗?到目前为止,我找到的所有教程和问题都只涵盖了像 Web 请求这样的 ...

46得票3回答
FastAPI重定向尾随斜杠返回非SSL链接

我们在调用一个端点时遇到了问题,由于缺少斜杠导致重定向。如下图所示,当请求发送到https://.../notifications时,FastAPI服务器会响应重定向到http://...notifications/。 我怀疑这是一个应用程序配置问题而不是服务器配置问题。有人知道如何解决这个问...

45得票1回答
Django 3.x - ASGI服务器选择 (Uvicorn vs. Daphne)

我有一个简单的基于API的Django 3 Web应用程序。在Django文档中,有一 页面 关于ASGI服务器,提到了两个选择: Daphne 和 Uvicorn。不幸的是,它们没有提供有关特定选择的优势的任何说明,因此在选择其中之一时我感到困惑。 在使用这两种方法撰写Django应用程序方...

39得票1回答
Gunicorn gevent workers与Uvicorn ASGI的比较

我目前正在使用Django开发一个服务,该服务使用一个很慢的外部API(需要大约10秒才能得到响应),这意味着连接到我的服务器会一直保持等待外部API的响应,并占用工作线程和资源。 我知道可以使用gunicorn的线程或gevent工作进程来增加并发性,但是似乎无法理解使用具有gevent工...

33得票6回答
有没有一种干净的方式来终止uvicorn进程?

有没有一种方法可以干净地关闭uvicorn进程? 比如,如果它在终端前台运行,我可以在其上键入^ C。这会导致uvicorn进程死亡并清理所有工作进程。(也就是说,它们消失了。) 另一方面,如果uvicorn在后台运行而没有终端,则我无法找出一种干净地杀死它的方法。它似乎忽略SIGTERM...

33得票2回答
在Dockerfile中使用uvicorn命令和在Python文件中运行FastAPI是否存在差异?

我正在运行一个FastAPI应用程序,在开发时,我的app.py文件中有以下代码: app.py中的代码:import uvicorn if __name__=="__main__": uvicorn.run("app.app:app",ho...

32得票5回答
在VSCode中调试FastAPI应用程序

我正在尝试调试一个使用FastAPI (uvicorn)的应用程序(一个Web API)。 我还在使用Poetry,并在VSCode中设置了项目虚拟环境。 我阅读了这个教程以设置uvicorn,以及这个教程以设置VSCode,但我认为我在设置时做错了一些事情。 我尝试将launch.jso...

26得票5回答
如何在使用PyTest进行测试时启动后台的Uvicorn + FastAPI?

我有一个使用Uvicorn+FastAPI编写的REST-API应用程序。 我想使用PyTest测试它。 我想在开始测试时通过一个fixture启动服务器,因此当测试完成时,fixture将终止应用程序。 FastAPI Testing介绍了如何测试API应用程序,from fastap...