协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
python-async【开发与工程】Async Python patterns via asyncio and aiohttp for I/O-bound concurrency. Use when adding async APIs, handling concurrent I/O, or debugging async code.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: python-async description: Async Python patterns via asyncio and aiohttp for I/O-bound concurrency. Use when adding async APIs, handling concurrent I/O, or debugging async code. globs: "**/*.py" alwaysApply: false category: async tags:
asyncio and async/await patterns for Python applications.
import asyncio
async def main():
print("Hello")
await asyncio.sleep(1)
print("World")
asyncio.run(main())
This skill uses progressive loading. Content is organized into focused modules:
modules/basic-patterns.md - Core async/await, gather(), and task managementmodules/concurrency-control.md - Semaphores and locks for rate limitingmodules/error-handling-timeouts.md - Error handling, timeouts, and cancellationmodules/advanced-patterns.md - Context managers, iterators, producer-consumermodules/testing-async.md - Testing with pytest-asynciomodules/real-world-applications.md - Web scraping and database operationsmodules/pitfalls-best-practices.md - Common mistakes and best practicesLoad specific modules based on your needs, or reference all for detailed guidance.
RuntimeError: no current event loop
Use asyncio.run() as the entry point. Avoid get_event_loop() in Python 3.10+.
Blocking call in async context
Move sync I/O to asyncio.to_thread() or loop.run_in_executor().
Tests hang indefinitely
Ensure pytest-asyncio is installed and test functions are decorated with @pytest.mark.asyncio.