async-python-patterns
إتقان أنماط Python غير المتزامنة
متاح أيضًا من: ActiveInferenceInstitute
قم ببناء تطبيقات Python عالية الأداء مع أنماط async/await. تعلم تقنيات البرمجة المتزامنة لأنظمة I/O القابلة للتوسع.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "async-python-patterns". أرني كيفية جلب عدة عناوين URL بشكل متزامن مع معالجة المهلة
النتيجة المتوقعة:
- استخدم asyncio.gather() مع asyncio.wait_for() للتحكم في المهلة
- إنشاء aiohttp ClientSession مع تجميع الاتصالات
- معالجة الاستجابات الناجحة والمهلات بأناقة
- إرجاع النتائج مع رموز الحالة ومعلومات الأخطاء
استخدام "async-python-patterns". كيف أقوم بتنفيذ محدد معدل لمكالمات واجهة برمجة التطبيقات
النتيجة المتوقعة:
- استخدم asyncio.Semaphore لتحديد الطلبات المتزامنة
- تطبيق Semaphore مع نمط مدير السياق غير المتزامن
- تعيين قيمة max_concurrent مناسبة بناءً على حدود واجهة برمجة التطبيقات
- الجمع مع منطق إعادة المحاولة المتانة
استخدام "async-python-patterns". ما هي الأخطاء الشائعة عند كتابة كود Python غير متزامن
النتيجة المتوقعة:
- نسيان استخدام await مع الـ coroutines - فهي تُرجع كائنات coroutine، وليس نتائج
- استخدام time.sleep() بدلاً من asyncio.sleep() - يحجب حلقة الأحداث
- عدم معالجة إلغاء المهام باستخدام try/except CancelledError
- خلط الكود المتزامن وغير المتزامن بدون التفاف مناسب
التدقيق الأمني
آمن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.
عوامل الخطر
🌐 الوصول إلى الشبكة (10)
⚙️ الأوامر الخارجية (48)
درجة الجودة
ماذا يمكنك بناءه
بناء واجهات برمجة تطبيقات ويب غير متزامنة
إنشاء تطبيقات FastAPI وaiohttp مع أنماط غير متزامنة مناسبة للتعامل مع الطلبات المتزامنة
معالجة البيانات المتزامنة
تنفيذ عمليات I/O المتوازية لاستعلامات قواعد البيانات ومعالجة الملفات واستدعاءات واجهة برمجة التطبيقات
نصوص أتمتة غير متزامنة
كتابة أدوات أتمتة فعالة تتعامل مع عمليات الشبكة المتعددة بشكل متزامن
جرّب هذه الموجهات
أرني كيفية إنشاء دالة غير متزامنة بسيطة تجلب البيانات باستخدام asyncio.sleep() لمحاكاة تأخير الشبكة
وضح كيفية إجراء 10 طلبات HTTP بشكل متزامن باستخدام asyncio.gather() مع معالجة الأخطاء المناسبة
إنشاء نمط المنتج-المستهلك باستخدام asyncio.Queue لمعالجة 100 عنصر بـ 5 عمال
تصميم خادم WebSocket غير متزامن يتعامل مع عملاء متعددين وبث الرسائل إلى جميع المستخدمين المتصلين
أفضل الممارسات
- استخدم دائماً asyncio.run() كنقطة دخول لتطبيقات غير المتزامنة
- تنفيذ معالجة الأخطاء المناسبة مع كتل try/except في الدوال غير المتزامنة
- استخدام تجمعات الاتصالات وSemaphores لتحديد العمليات المتزامنة
تجنب
- لا تستخدم أبداً time.sleep() في الكود غير المتزامن - استخدم دائماً asyncio.sleep()
- لا تنسَ استخدام await مع الـ coroutines وإلا لن يتم تنفيذها
- تجنب خلط عمليات I/O المحجوبة مع الكود غير المتزامن
الأسئلة المتكررة
ما إصدارات Python التي تدعم asyncio؟
متى يجب استخدام async مقابل الخيوط؟
هل يمكنني استخدام async مع Django؟
كيف أقوم بتصحيح الكود غير المتزامن؟
ما الفرق بين create_task وgather؟
هل هذه المهارة متوافقة مع دفاتر Jupyter؟
تفاصيل المطور
المؤلف
wshobsonالترخيص
MIT
المستودع
https://github.com/wshobson/agents/tree/main/plugins/python-development/skills/async-python-patternsمرجع
main
بنية الملفات
📄 SKILL.md