New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a timeout to the datalogger web request #660
Add a timeout to the datalogger web request #660
Conversation
Bedankt voor je suggestie! Hoewel het goed in jouw situatie kan werken, denk ik niet dat ik dit zomaar kan doorvoeren. Ik kan er namelijk niet vanuit gaan dat elke request altijd binnen 5 seconden opgebouwd, verwerkt en teruggeven wordt. Het hangt er erg vanaf waar iemand DSMR-reader host, bijvoorbeeld in Docker, op een andere (trage) Pi of op een VPS extern. Je bent uiteraard vrij om het script zelf lokaal te kopieren en daar de timeout in te zetten. Het is dan ook meer als een voorbeeld-script bedoeld. :] |
Voor de duidelijkheid: deze timeout doet niets met de datalogger zelf, maar is puur de API-call naar DSMR-reader zelf. Waar die ook gehost is (kan op dezelfde machine zijn of heel ergens anders). |
Maar is een telegram nog nuttig als het meer dan 10 seconden duurt? En daardoor een volgende telegram evt wordt gemist. |
Ik heb even uitgezocht hoe het zit. Het was mij onbekend dat er een oneindige timeout op zit, meestal is het standaard zo'n 60 seconden voor web requests. Ik kan de PR wel doorvoeren als je er 60 van maakt. Ik kan het evt zelf ook nog wijzigen als het veel werk voor je is. Voor je eigen kopie lokaal kun je uiteraard 5 seconden blijven gebruiken. Voor elke situatie is wel een andere timeout te hanteren, dus ik houd hem dan standaard wat ruim aan, zodat er geen hangende processen meer voorkomen. |
Codecov Report
@@ Coverage Diff @@
## development #660 +/- ##
==========================================
Coverage 100% 100%
==========================================
Files 109 109
Lines 3087 3087
Branches 255 255
==========================================
Hits 3087 3087 |
60 lost het voor mij ook op :) ... bij deze dus aangepast. |
Thanks! |
Bij recent onderhoud van de host waar dsmr op draait viel het me op dat de datalogger een restart nodig had.
Het toevoegen van deze timeout lijkt daarbij te helpen. De 5 seconden heb ik gekozen als de helft van de 10 seconden telegram interval.