提问人:muliku 提问时间:4/13/2022 更新时间:4/13/2022 访问量:2735
FastAPI - 我应该异步记录吗?
FastAPI - should I log asynchronously?
问:
我有一个使用 FastAPI 编写的 python Web 应用程序(通过 uvicorn 运行)。在我的应用程序中,我使用的是标准模块,该模块使用 .由于我正在登录文件,因此我担心性能。假设我的函数中有 3 条日志消息,每次调用端点都会调用这些消息。现在想象一下有 1000 个客户端同时请求 - 即对日志文件进行 3000 次写入。logging
TimedRotatingFileHandler
/test
/test
我担心这会阻碍应用程序的性能,因为 IO 任务很耗时。我是否应该使用某种形式的异步日志记录?也许打开一个新线程来写入文件?我试着在谷歌上搜索答案,但我没有找到标准化的方法。那么它甚至需要吗?如果是,我应该如何处理?谢谢!
答: 暂无答案
评论
台任务
来记录数据(因此,日志记录在返回响应后进行)。如果你需要在函数中启动一个新的线程,看看这个答案。注意:异步并不意味着多线程。请看这里了解 / 的概念。background task
async
await