python runtime_error ai_generated true

asyncio.exceptions.CancelledError

ID: python/asyncio-cancel-error-on-shutdown

其他格式: JSON · Markdown 中文 · English
80%修复率
85%置信度
0证据数
2024-03-15首次发现

版本兼容性

版本状态引入弃用备注
3.11 active

根因分析

关闭期间任务被取消,finally 块中等待清理操作时未处理 CancelledError。

English

Task cancellation during shutdown causes unhandled CancelledError in finally blocks that await cleanup operations.

generic

解决方案

  1. 85% 成功率
    await asyncio.shield(cleanup()) within finally to protect cleanup from cancellation
  2. 90% 成功率
    asyncio.run(main()) handles cancellation gracefully by cancelling all remaining tasks

无效尝试

常见但无效的做法:

  1. 70% 失败

  2. 60% 失败