簡體   English   中英

FastAPI 響應迭代器正在阻止異步函數或后台任務

[英]FastAPI response iterator is blocking the async functions or background tasks

我想在 FastAPI 的中間件中獲取響應主體。 我通過在 stackoverflow 上使用以下答案嘗試了該方法: https://stackoverflow.com/a/71883126/19869027但是當我在中間件中使用以下代碼時,
response_body = [section async for section in response.body_iterator]
它阻止了我在 fastapi 路由中使用的后台任務,並且在后台任務完成之前不會生成響應。 如果我刪除中間件,它工作正常。 請提出一些解決方案。 問候

我遇到過類似的問題。 原來這是由 Starlette 中的錯誤引起的。 將 FastAPI 升級到版本 0.87.0 為我解決了這個問題。 基於 r1b 的非常有用的評論: https://github.com/encode/uvicorn/issues/111#issuecomment-1369272260

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM