Django

Django Async e ASGI

ASGI vs WSGI, async views, sync_to_async, async_to_sync, limitações do ORM sync, performance async, database connection pooling

26 perguntas de entrevista·
Senior
1

Qual é a principal diferença entre WSGI e ASGI?

Resposta

ASGI (Asynchronous Server Gateway Interface) estende o WSGI adicionando suporte para programação assíncrona e conexões persistentes como WebSockets. O WSGI é síncrono e só consegue lidar com uma requisição por vez por worker, enquanto o ASGI consegue gerenciar várias requisições simultaneamente em um único processo por meio do event loop do asyncio.

2

Como declarar uma view assíncrona no Django?

Resposta

Uma view assíncrona no Django é declarada simplesmente usando a palavra-chave async antes de def. O Django detecta automaticamente se a view é assíncrona e a executa no event loop apropriado. Essa sintaxe nativa do Python 3.5+ é totalmente suportada desde o Django 3.1.

3

Qual é o papel de sync_to_async no Django?

Resposta

sync_to_async é um adaptador fornecido pelo asgiref que permite executar código síncrono dentro de um contexto assíncrono. Ele encapsula uma função síncrona e a executa em um thread pool separado, evitando assim o bloqueio do event loop. Isso é essencial para chamar o ORM do Django a partir de uma view async, já que o ORM é síncrono.

4

Por que o ORM do Django não pode ser usado diretamente em uma view assíncrona?

5

Qual é o papel de async_to_sync no Django?

+23 perguntas de entrevista

Domine Django para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis