async-python-patterns
Implementar Patrones Asíncronos de Python
也可从以下获取: wshobson,ActiveInferenceInstitute
Construye aplicaciones Python de alto rendimiento con patrones asyncio para operaciones de E/S concurrentes, APIs asíncronas y sistemas no bloqueantes.
下载技能 ZIP
在 Claude 中上传
前往 设置 → 功能 → 技能 → 上传技能
开启并开始使用
测试它
正在使用“async-python-patterns”。 ¿Cómo ejecuto múltiples tareas asíncronas concurrentemente en Python?
预期结果:
Usa asyncio.gather() para ejecutar múltiples co-rutinas concurrentemente. Ejemplo: results = await asyncio.gather(task1(), task2(), task3()). Para el manejo de errores, usa return_exceptions=True para capturar fallos sin detener otras tareas.
正在使用“async-python-patterns”。 ¿Cuál es la diferencia entre asyncio.create_task y asyncio.ensure_future?
预期结果:
create_task() programa una co-rutina para ejecutarse en el bucle de eventos y devuelve una Task (Python 3.7+). ensure_future() acepta tanto co-rutinas como futuros, devolviendo una Task. Usa create_task() para nuevas co-rutinas; usa ensure_future() cuando podrías recibir un futuro existente.
正在使用“async-python-patterns”。 ¿Cómo agrego un tiempo de espera a una operación asíncrona?
预期结果:
Usa asyncio.wait_for() para tiempos de espera simples: await asyncio.wait_for(async_func(), timeout=5.0). Para múltiples operaciones, usa asyncio.wait() con timeout y maneja la excepción 'timeout' en tu bloque try/except.
安全审计
安全This skill is a documentation and educational resource for async Python programming patterns. The static analyzer flagged 71 potential issues, but upon manual review, all findings are FALSE POSITIVES. The 'external_commands' detections are markdown code fences (backticks), 'network' detections are example URLs in documentation, and 'blocker' detections are benign documentation patterns. No actual security risks were found.
检测到的模式
质量评分
你能构建什么
Construir API Web Asíncrona
Crear una API REST de alto rendimiento usando FastAPI con consultas concurrentes a base de datos y endpoints asíncronos
Obtención de Datos Concurrente
Obtener múltiples recursos de API simultáneamente usando asyncio.gather con manejo adecuado de errores y tiempos de espera
Backend de Aplicación en Tiempo Real
Implementar servidores WebSocket y manejo asíncrono de mensajes para sistemas de chat o notificaciones en vivo
试试这些提示
Muéstrame cómo escribir una función async simple en Python que obtenga datos de una URL. Incluye manejo adecuado de errores y un tiempo de espera.
Necesito obtener datos de 5 endpoints de API diferentes concurrentemente. Muéstrame cómo usar asyncio.gather con return_exceptions=True para el manejo de errores.
Crea un gestor de contexto asíncrono que se conecte a una base de datos, produzca una conexión y la cierre adecuadamente al salir. Incluye manejo de errores.
Construye una función asíncrona lista para producción que consulte una base de datos con agrupación de conexiones, implemente lógica de reintento con retroceso exponencial, incluya registro estructurado y maneje la cancelación con gracia.
最佳实践
- Siempre agrega tiempos de espera para prevenir bloqueo indefinido - usa asyncio.wait_for() o asyncio.timeout()
- Usa concurrencia estructurada con asyncio.TaskGroup (Python 3.11+) para limpieza automática
- Maneja las excepciones explícitamente con try/except dentro de funciones async, nunca dejes que las excepciones se propaguen silenciosamente
避免
- No uses llamadas sincrónicas bloqueantes dentro de funciones async - esto bloquea todo el bucle de eventos
- Evita 'fire and forget' sin seguimiento adecuado de tareas - almacena referencias Task para habilitar cancelación
- No mezcles await con código bloqueante como time.sleep() - usa asyncio.sleep() en su lugar