python
runtime_error
ai_generated
true
后台线程异常:AttributeError: 'NoneType'对象没有属性'send'
Exception in thread Thread-1 (run) ... AttributeError: 'NoneType' object has no attribute 'send'
ID: python/fastapi-background-task-exception-silent
80%修复率
85%置信度
0证据数
2024-09-07首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| 0.100.x | active | — | — | — |
| 0.110.x | active | — | — | — |
根因分析
后台任务在响应发送后抛出异常;Starlette会记录但客户端看不到。
English
A background task raised an exception after the response was sent; Starlette logs it but the client never sees it.
解决方案
-
90% 成功率
def task():\n try:\n work()\n except Exception:\n logger.exception('bg failed') -
92% 成功率
@celery.task\ndef task(): ...\ntask.delay()
无效尝试
常见但无效的做法:
-
85% 失败
Background tasks cannot return responses to the client.
-
70% 失败
Still runs after response; exceptions remain invisible to client.