Qu’est-ce qu’une déconnexion ?
Pourquoi une connexion de streaming peut être interrompue
- Une erreur d’authentification (par exemple, un jeton incorrect ou une méthode d’authentification inappropriée).
- Un serveur de streaming est redémarré côté X. Cela est généralement lié à un déploiement de code et doit être anticipé et pris en compte dans la conception.
- Votre client ne parvient pas à suivre le volume de Posts livré par le stream ou lit les data trop lentement. Chaque connexion de streaming s’appuie sur une file de messages à envoyer au client. Si cette file devient trop grande au fil du temps, la connexion sera fermée.
- Votre compte a dépassé votre quota quotidien/mensuel de Posts.
- Vous avez trop de connexions redondantes actives.
- Un client cesse soudainement de lire les data. Si le débit de Posts lus depuis le stream chute brusquement, la connexion sera fermée.
- D’éventuels problèmes réseau entre le serveur et le client
- Un problème temporaire côté serveur, une maintenance planifiée ou des mises à jour. (Consultez la page de statut)
Les erreurs de déconnexion courantes comprennent :
Anticiper les déconnexions et se reconnecter
- Votre code doit détecter lorsque le nouveau contenu et le heartbeat cessent d’arriver.
- Le cas échéant, votre code doit déclencher une logique de reconnexion. Certains clients et langages permettent de spécifier un délai d’expiration de lecture, que vous pouvez définir à 20 secondes.
- Votre service doit détecter ces déconnexions et se reconnecter dès que possible.
- Appliquez un retrait linéaire en cas d’erreurs réseau au niveau TCP/IP. Ces problèmes sont généralement temporaires et se résolvent rapidement. Augmentez le délai entre les reconnexions de 250 ms à chaque tentative, jusqu’à 16 secondes.
- Appliquez un retrait exponentiel en cas d’erreurs HTTP pour lesquelles une reconnexion est appropriée. Commencez par une attente de 5 secondes, en doublant à chaque tentative, jusqu’à 320 secondes.
- Appliquez un retrait exponentiel en cas d’erreurs HTTP 429 (Rate limit exceeded). Commencez par une attente de 1 minute et doublez à chaque tentative. Notez que chaque HTTP 429 reçu augmente le temps d’attente avant que la limite de taux ne cesse de s’appliquer à votre compte.
Récupération des données perdues
Limites de taux et utilisation
- x-rate-limit-limit indique le nombre de requêtes allouées que votre client est autorisé à effectuer durant la fenêtre de 15 minutes.
- x-rate-limit-remaining indique le nombre de requêtes effectuées jusqu’à présent dans la fenêtre de 15 minutes.
- x-rate-limit-reset est un horodatage UNIX indiquant le moment où la fenêtre de 15 minutes redémarrera, réinitialisant x-rate-limit-remaining à 0.