Restart Internet connection issue

I have not even put my machine together but I have several Pi’s doing things like tracking aircraft with FlightRadar24, had some environmental sensors, and a couple of Magic Mirrors.
I want to head this off right from start.

We don’t have a reliable internet provider and periodically internet connection drops out and I can always tell because data will be flat-lining so I end up rebooting 3 - 5 Pi’s to reestablish connectivity. These Pi’s are all connected to router via ethernet so not a wifi problem.

I’ve heard of ways to periodically restart connection via programming.
Does the software that is on sd card I got with kit have that sort of functionality?
Or will the same happen with this application also?

I’ve heard mention of doing restart via Cron job but never pursued.

Since you have no other replies…

I suspect that your R-Pis are actually connected to the Internet when it comes back, but the applications, which look like JavaScript applications to me, are probably not behaving well to losing their connectivity.
You could validate this a couple of ways:

  1. Just re-start the applications without rebootng.
  2. Login to the R-Pi and try something like “traceroute” to validate that there actually is Internet connectivity.

I would expect the Shake applications to be better behaved and just start working ok once connectivity returns - subject to the restriction which you will find noted in other posts here, that if a station disconnects for a while, ieven though it’s data is still making it into the database, it may not show up in the web applications for up to 24 hours.

Recently the provider has done better but did have to reboot about 2 weeks ago.
Is there any benefit to either put an external drive such as an SSD drive to record data or load your OS on to a high capacity drive rather than on micro SD card for same basic reason?

I don’t know how the Shake application code works internally, but it does look as though it does a fair amount of writing data and copying data around. The filesystem is ext4, which in general is fairly resilient when it comes to corruption due to things like abrupt system stops (power loss, etc.).

There was a time (not long ago) when SD cards had a quite limited number of R-W cycles, and heavy disk I/O would “wear them out” fairly quickly. These days, they are MUCH better, so long as you buy reputable makes. That makes moving the OS onto an external device less of a win (in my opinion) unless you really need the higher I/O rates. (Which you don’t, for this application).

It does appear, from reading the tech. discussions here, that power loss can “corrupt” the SD card to the point that the application no longer works correctly. Re-formatting, and re-loading the SD card image fixes that. Personally, I suspect (without a huge amount of actual evidence) that the problem is not filesystem corruption so much as application work files being left in undefined states, and the application therefore not working correctly upon re-start. I have to wonder if a “clean-up” script run a boot, removing any work files might not fix this problem … but that is a different topic.

To answer your question - I don’t think there is much real advantage these days to using an external filesystem. At least for this application. The money is probably more usefully spent on a UPS to keep your shake and router/modem powered up in case of loss of power.

Again, this is all my opinion. But it is based upon a fair amount of personal experience.