异步 Python 模式

async-python-patterns
分类编程
作者Agentic Awesome Skills 社区
许可MIT
评分4.50/5
使用5.9K

Async Python Patterns (异步 Python 模式)

关于使用 asyncio、并发编程模式以及 async/await 构建高性能非阻塞系统的异步 Python 应用实现全面指南。

适用场景

  • 构建异步 Web API (FastAPI, aiohttp, Sanic)
  • 实现并发 I/O 操作 (数据库、文件、网络)
  • 创建支持并发请求的网络爬虫
  • 开发实时应用 (WebSocket 服务器、聊天系统)
  • 同时处理多个独立任务
  • 构建具有异步通信能力的微服务
  • 优化 I/O 密集型工作负载
  • 实现异步后台任务和队列

不适用场景

  • 工作负载为 CPU 密集型且 I/O 极少。
  • 简单的同步脚本即可满足需求。
  • 运行环境不支持 asyncio/事件循环。

指南

  • 明确工作负载特性 (I/O vs CPU)、目标和运行环境限制。
  • 选择合适的并发模式 (tasks, gather, queues, pools) 并制定取消规则。
  • 添加超时机制、背压 (backpressure) 处理和结构化错误处理。
  • 为异步代码路径提供测试和调试指南。
  • 如需详细示例,请打开 resources/implementation-playbook.md

详细模式和示例请参考 resources/implementation-playbook.md

资源

  • resources/implementation-playbook.md:包含详细模式和示例。

局限性

  • 仅在任务明确符合上述范围时使用此技能。
  • 不要将输出结果视为针对特定环境的验证、测试或专家评审的替代方案。
  • 如果缺少必要的输入、权限、安全边界或成功标准,请停止并请求澄清。