Django

Django Async та ASGI

ASGI проти WSGI, async views, sync_to_async, async_to_sync, обмеження синхронного ORM, продуктивність async, database connection pooling

26 питань зі співбесід·
Senior
1

Яка основна різниця між WSGI та ASGI?

Відповідь

ASGI (Asynchronous Server Gateway Interface) розширює WSGI, додаючи підтримку асинхронного програмування та постійних з'єднань, таких як WebSockets. WSGI є синхронним і може обробляти лише один запит за раз на кожен worker, тоді як ASGI може обробляти кілька запитів одночасно в одному процесі завдяки event loop asyncio.

2

Як оголосити async view у Django?

Відповідь

Async view у Django оголошується просто за допомогою ключового слова async перед def. Django автоматично визначає, чи є view асинхронним, і виконує його у відповідному event loop. Цей нативний синтаксис Python 3.5+ повністю підтримується починаючи з Django 3.1.

3

Яка роль sync_to_async у Django?

Відповідь

sync_to_async — це адаптер, наданий asgiref, який дозволяє виконувати синхронний код в асинхронному контексті. Він обгортає синхронну функцію та виконує її в окремому thread pool, запобігаючи блокуванню event loop. Це необхідно для виклику ORM Django з async view, оскільки ORM є синхронним.

4

Чому ORM Django не можна використовувати безпосередньо в async view?

5

Яка роль async_to_sync у Django?

+23 питань зі співбесід

Інші теми співбесід Django

Основи Python

Junior
25 запитань

Об'єктно-орієнтований Python

Junior
20 запитань

Основи Django

Junior
20 запитань

Models Django - Основи

Junior
22 запитань

Django Views

Junior
20 запитань

Шаблони Django

Junior
18 запитань

Форми Django

Mid-Level
22 запитань

Розширені QuerySets

Mid-Level
25 запитань

Автентифікація Django

Mid-Level
22 запитань

Django Middleware

Mid-Level
18 запитань

Django Admin

Mid-Level
20 запитань

Django REST Framework

Mid-Level
30 запитань

Сигнали Django

Mid-Level
18 запитань

Завантаження файлів

Mid-Level
20 запитань

Кешування в Django

Mid-Level
20 запитань

Сесії Django

Mid-Level
18 запитань

Email у Django

Mid-Level
18 запитань

Тестування Django

Mid-Level
22 запитань

Безпека Django

Mid-Level
22 запитань

Розгортання Django

Mid-Level
24 запитань

Просунутий Django ORM

Senior
28 запитань

Продуктивність Django

Senior
24 запитань

Django & Celery

Senior
22 запитань

Django Channels

Senior
24 запитань

Django & GraphQL

Senior
24 запитань

Django & Docker

Senior
20 запитань

Django в екосистемі мікросервісів

Senior
24 запитань

Користувацькі команди Django

Senior
18 запитань

Інтернаціоналізація Django

Senior
20 запитань

Патерни проєктування Django

Senior
24 запитань

Settings та конфігурація для production

Senior
22 запитань

Спостережуваність і моніторинг

Senior
24 запитань

Опануй Django для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно