Capítulo 21. Programación asíncrona

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

El problema de los enfoques normales de la programación asíncrona es que son propuestas de todo o nada. Reescribes todo tu código para que nada se bloquee o estás perdiendo el tiempo.

Álvaro Videla y Jason J. W. Williams, RabbitMQ en acción1

Este capítulo de aborda tres temas principales que están estrechamente relacionados:

  • Construcciones de Python async def, await, async with, y async for

  • Objetos que soportan esas construcciones: coroutines nativas y variantes asíncronas de gestores de contexto, iterables, generadores y comprensiones

  • asyncio y otras bibliotecas asíncronas

Este capítulo se basa en las ideas de iterables y generadores(Capítulo 17, en particular "Coroutines clásicas"), gestores de contexto(Capítulo 18) y conceptos generales de programación concurrente(Capítulo 19).

Estudiaremos clientes HTTP concurrentes similares a los que vimos en el Capítulo 20, reescritos con coroutines nativas y gestores de contexto asíncronos, utilizando la misma biblioteca HTTPX que antes, pero ahora a través de su API asíncrona. También veremos cómo evitar el bloqueo del bucle de eventos delegando las operaciones lentas a un hilo o ejecutor de procesos.

Después de los ejemplos de cliente HTTP, veremos dos sencillas aplicaciones asíncronas del lado del servidor, una de ellas utilizando el cada vez más popular framework FastAPI ...

Get Python fluido, 2ª edición now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.