Django

Django Async e ASGI

ASGI vs WSGI, async views, sync_to_async, async_to_sync, limitazioni dell'ORM sincrono, performance async, database connection pooling

26 domande da colloquio·
Senior
1

Qual è la differenza principale tra WSGI e ASGI?

Risposta

ASGI (Asynchronous Server Gateway Interface) estende WSGI aggiungendo il supporto per la programmazione asincrona e le connessioni persistenti come i WebSockets. WSGI è sincrono e può gestire una sola richiesta alla volta per worker, mentre ASGI può gestire più richieste contemporaneamente in un singolo processo grazie all'event loop di asyncio.

2

Come dichiarare una async view in Django?

Risposta

Una async view in Django si dichiara semplicemente usando la parola chiave async prima di def. Django rileva automaticamente se la view è asincrona e la esegue nell'event loop appropriato. Questa sintassi nativa di Python 3.5+ è pienamente supportata da Django 3.1.

3

Qual è il ruolo di sync_to_async in Django?

Risposta

sync_to_async è un adattatore fornito da asgiref che consente di eseguire codice sincrono all'interno di un contesto asincrono. Avvolge una funzione sincrona e la esegue in un thread pool separato, evitando così di bloccare l'event loop. È essenziale per chiamare l'ORM di Django da una async view, poiché l'ORM è sincrono.

4

Perché l'ORM di Django non può essere usato direttamente in una async view?

5

Qual è il ruolo di async_to_sync in Django?

+23 domande da colloquio

Padroneggia Django per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis