timed out
Python
Erreur courante
Explication
L'erreur `TimeoutError: timed out` (ou `[Errno 110] Connection timed out`) survient quand une opération — le plus souvent une requête réseau — **dépasse le délai imparti**. Le serveur est trop lent ou injoignable, le réseau est en cause, ou le délai (timeout) est trop court.
```python
import requests
requests.get("https://exemple.com", timeout=2) # le serveur met plus de 2 s
# requests.exceptions.ReadTimeout: ... Read timed out
```
Causes courantes
- **Serveur lent ou injoignable**. - **Latence réseau** élevée. - **Pare-feu** qui ignore les paquets (la connexion expire). - **Délai trop court** pour l'opération. - **Aucun timeout défini** : la requête peut se bloquer indéfiniment.
1. Ajustez un timeout raisonnable
import requests
r = requests.get(url, timeout=10) # ni trop court, ni infini
2. Réessayez avec une temporisation croissante (backoff)
import time, requests
for tentative in range(3):
try:
r = requests.get(url, timeout=5)
break
except requests.Timeout:
time.sleep(2 ** tentative) # 1s, 2s, 4s...
3. Gérez l'expiration proprement
try:
r = requests.get(url, timeout=5)
except requests.Timeout:
logging.warning("Délai dépassé pour %s", url)
Comment prevenir cette erreur
- **Définissez toujours un `timeout`** sur les appels réseau (sinon ils peuvent se bloquer à l'infini).
- **Mettez en place des reprises** (retry + backoff) pour les services intermittents.
- **Surveillez** la latence des dépendances externes.
- Référence : [requests — Timeouts](https://requests.readthedocs.io/en/latest/user/advanced/#timeouts).
Besoin d'aide sur votre projet ?
Besoin d'aide sur un probleme technique ? Decrivez-le pour des recommandations.
Nous contacterQuestions frequentes
« timed out » ou « connection refused », quelle différence ?
« timed out » = aucune réponse dans le délai (serveur lent, pare-feu, mauvaise adresse). « refused » = la machine répond mais **aucun service n'écoute** sur le port. Les diagnostics diffèrent.
Faut-il toujours mettre un timeout sur `requests` ?
Oui. Sans `timeout`, une requête peut rester bloquée indéfiniment si le serveur ne répond jamais, gelant votre programme. Mettez systématiquement une valeur (par ex. `timeout=10`).