Aller au contenu principal

3 formations sont désormais disponibles : Python, Flask et JS.

Aller au contenu principal

Flask Async (`async def`)

Apprendre Flask : Le Guide Ultime
2 min de lecture
Gratuit

Depuis Flask 2.0, Flask supporte (partiellement) l'asynchrone natif de Python (asyncIO).

Attention, Flask reste fondamentalement synchrone (WSGI). Mais tu peux définir des routes async. C'est utile si tu fais des appels HTTP vers d'autres API (avec httpx ou aiohttp) à l'intérieur de ta vue.

import asyncio

@app.route('/async-data')
async def get_data():
    # Imagine qu'on attend une réponse d'une autre API
    await asyncio.sleep(2) 
    return "Données reçues !"

Quand l'utiliser ?

  • ✅ Si ta vue passe son temps à attendre (I/O bound) : appel base de données async, appel API externe...
  • ❌ Si ta vue fait du calcul lourd (CPU bound) : ça bloquera quand même. Utilise Celery plus haut.

C'est une fonctionnalité encore "jeune" dans Flask, à utiliser si tu sais exactement pourquoi tu en as besoin. Pour 99% des cas, le Flask classique suffit.