Version grand public :
Bon, j'ai modifié un truc, ça devrait résoudre le problème des erreurs 504
Version connaisseur :
On a sur l’hébergement de l'association, un script nommé
tama qui utilise l'API officiel transilien, et qui permet d'avoir des stats et des données sur les retards des trains, depuis plusieurs mois. Le système va récupérer une vingtaine de gares par minutes. Ça, c'est le fonctionnement normal
Mais parfois, l'API transilien met plus de temps que la normal à répondre. Dans ces cas là, le système est prévu pour couper la connexion au bout de 5 sec et attendre une minute avant de réessayer. Sauf que je viens de faire des tests, et ce que j'utilisais avec une notion bizarre de couper la connexion.
J'avais une page qui récupérait, via la même méthode que ce qui est utilisé pour l'API, une page qui mettait volontairement 10 secondes à répondre. Avec un timeout de 15 secondes, pas de soucis, le contenu de l'autre page mettait bien 10 secondes a être récupéré. Mais avec un timeout de 5 secondes, j'avais bien le message d'erreur disant que le temps d'attente était dépassé, et ce message, je l'avais au bout de… 10 secondes, et pas de 5. Bref, le timeout servait à rien dans l'histoire. Parce que derrière, si l'API transilien mettait plus d'une minute à répondre qu'il était en panne, bah, la requête de la minute suivante se lançait, puis encore celle d'après, etc… le nombre de connexion sortantes explosait (puisque ça ne se coupait pas), et on avait des erreurs.
J'ai changé de méthode, et là, le timeout est bien respecté. Ça devrait donc aller mieux