Ki Za نشر 27 أكتوبر 2022 أرسل تقرير نشر 27 أكتوبر 2022 هل يمكن تطبيق async على دوال Django وكيف ذلك 1 اقتباس
0 Ahmed Sadek Elamine Touahria نشر 27 أكتوبر 2022 أرسل تقرير نشر 27 أكتوبر 2022 لتوضيح طريقة عرض غير متزامنة ، دعنا ننشئ واحدة في views.py. يمكن تحقيق ذلك عن طريق استيراد الوحدة asyncio. سنقوم بإنشاء طلب HTTP غير محظور ، وسيتم إرسال استجابة HTTP مرة أخرى قبل مكالمة السكون الأولى. في كل ثانية ، سيتوقف عرض API لمدة ثانية واحدة - ويتم ذلك باستخدام حلقة for. للمقارنة ، سيستغرق إكمال عرض المزامنة في نفس السيناريو بالضبط 5 ثوانٍ. سيتم إرسال طلب HTTP إلى واجهة برمجة تطبيقات وهمية ، والتي تعمل بمثابة طلب HTTP وخدمة استجابة بسيطة. كما هو موضح أدناه: import asyncio from time import sleep import httpx from django.http import HttpResponse async def http_call_async(): for num in range(1,6): await asyncio.sleep(1) print(num) async with httpx.AsyncClient() as client: r = await client.get("https://httpbin.org") print(r) async def async_view(request): loop = asyncio.get_event_loop() loop.create_task(http_call_async()) return HttpResponse('Non-blocking HTTP request') اقتباس
السؤال
Ki Za
هل يمكن تطبيق async على دوال Django وكيف ذلك
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.