Навыки async-python-patterns

async-python-patterns

Безопасно 🌐 Доступ к сети⚙️ Внешние команды

Освойте паттерны асинхронного Python

Также доступно от: ActiveInferenceInstitute

Создавайте высокопроизводительные приложения Python с паттернами async/await. Изучайте методы параллельного программирования для масштабируемых I/O-систем.

Поддерживает: Claude Codex Code(CC)
📊 69 Адекватно
1

Скачать ZIP навыка

2

Загрузить в Claude

Перейдите в Settings → Capabilities → Skills → Upload skill

3

Включите и начните использовать

Протестировать

Использование «async-python-patterns». Покажите, как получать несколько URL параллельно с обработкой таймаутов

Ожидаемый результат:

  • Используйте asyncio.gather() с asyncio.wait_for() для контроля таймаутов
  • Создайте aiohttp ClientSession с пулом соединений
  • Корректно обрабатывайте успешные ответы и таймауты
  • Возвращайте результаты с кодами состояния и информацией об ошибках

Использование «async-python-patterns». Как реализовать ограничитель скорости для API-вызовов

Ожидаемый результат:

  • Используйте asyncio.Semaphore для ограничения параллельных запросов
  • Применяйте semaphore с паттерном асинхронного контекстного менеджера
  • Установите подходящее значение max_concurrent на основе лимитов API
  • Комбинируйте с логикой повторных попыток для надежности

Использование «async-python-patterns». Какие распространенные ошибки при написании асинхронного кода на Python

Ожидаемый результат:

  • Забывать await у корутин - они возвращают объекты корутин, а не результаты
  • Использовать time.sleep() вместо asyncio.sleep() - блокирует цикл событий
  • Не обрабатывать отмену задач с try/except CancelledError
  • Смешивать синхронный и асинхронный код без правильного обертывания

Аудит безопасности

Безопасно
v4 • 1/17/2026

Documentation-only skill containing Python async programming patterns. Static analyzer flagged 77 findings, all confirmed as false positives. Markdown code fences were misidentified as shell backticks. Documentation text was misidentified as cryptographic algorithms. Example URLs are standard placeholders. No executable code, network access, or security risks exist.

2
Просканировано файлов
869
Проанализировано строк
2
находки
4
Всего аудитов

Оценка качества

38
Архитектура
100
Сопровождаемость
85
Контент
20
Сообщество
100
Безопасность
87
Соответствие спецификации

Что вы можете построить

Создание асинхронных веб-API

Создавайте приложения FastAPI и aiohttp с правильными асинхронными паттернами для обработки параллельных запросов

Параллельная обработка данных

Реализуйте параллельные I/O операции для запросов к базам данных, обработки файлов и вызовов API

Асинхронные скрипты автоматизации

Пишите эффективные инструменты автоматизации, которые обрабатывают несколько сетевых операций параллельно

Попробуйте эти промпты

Базовый асинхронный паттерн
Покажите, как создать простую асинхронную функцию, которая получает данные с asyncio.sleep() для симуляции сетевой задержки
Параллельные запросы
Продемонстрируйте, как делать 10 HTTP-запросов параллельно с помощью asyncio.gather() с правильной обработкой ошибок
Очередь производитель-потребитель
Создайте паттерн производитель-потребитель с использованием asyncio.Queue для обработки 100 элементов с 5 воркерами
WebSocket-сервер
Спроектируйте асинхронный WebSocket-сервер, который обрабатывает несколько клиентов и транслирует сообщения всем подключенным пользователям

Лучшие практики

  • Всегда используйте asyncio.run() как точку входа для асинхронных приложений
  • Реализуйте правильную обработку ошибок с блоками try/except в асинхронных функциях
  • Используйте пулы соединений и семафоры для ограничения параллельных операций

Избегать

  • Никогда не используйте time.sleep() в асинхронном коде - всегда используйте asyncio.sleep()
  • Не забывайте await у корутин, иначе они не выполнятся
  • Избегайте смешивания блокирующих I/O операций с асинхронным кодом

Часто задаваемые вопросы

Какие версии Python поддерживают asyncio?
Python 3.4+ поддерживает asyncio, но Python 3.7+ рекомендуется для синтаксиса async/await и asyncio.run()
Когда использовать async versus потоки?
Используйте async для I/O-bound операций, потоки для CPU-bound задач, которые блокируют цикл событий
Можно ли использовать async с Django?
Django 3.0+ поддерживает асинхронные представления, но используйте Django 4.1+ для полной поддержки асинхронного ORM
Как отлаживать асинхронный код?
Используйте режим отладки asyncio, правильное логирование и инструменты типа aiomonitor для отладки в продакшене
В чем разница между create_task и gather?
create_task() планирует одну корутину, gather() запускает несколько корутин параллельно и ожидает завершения всех
Совместим ли этот навык с Jupyter ноутбуками?
Да, но используйте asyncio.run() осторожно в ноутбуках - рассмотрите nest_asyncio для вложенных циклов событий

Сведения для разработчиков

Автор

wshobson

Лицензия

MIT

Ссылка

main

Структура файлов

📄 SKILL.md