Data has to be accurate and reliable, this is especially true of weather data, Chatteris Weather uploads in ‘Rapid Fire’ mode its data status for a whole range of variables every 2.5 seconds, this allows the gauges and wind speed and direction to seem so responsive, so how do you when the site its not updating or putting it another way, how do you know if the data is stale?
Here at Chatteris Weather, we use three ways (excluding the status update page).
If the site is going to be down for maintenance, we will post up description and predicted down-time, this message will be displayed in a yellow warning box at the top of each page.
The Weather PC uploads a changed file each and every time, this file is called clientraw, a script within the weather template compares the time of last clientraw arrival with the current time, if no change has taken place, a yellow alert box will open on the home page and it will say that an error has occurred and the clientraw file has not updated for x minutes.
This works really well, however, as I have an older PC running numerous weather related programs, when one which is particularly heavy on processing starts, the clientraw error might appear until this program finishes and PC resource are again available, an example of a short duration, but high processor usage is the creation of the movie files used in the time-lapse playback pages.
It may well be that clicking on refresh, will clear the error message.
The clientraw error message is fine to let site visitors know of a problem, but I need to know if something’s not right without constantly being sat on the site, I have done this in a number of ways, one is using a free service provided by Pingdom, this checks the accessibility of Chatteris Weather and sends me an e-mail if it gets no response, I have set the check time to every 15 minutes, the downside to this method is that Pingdom has to visit the site in order to determine if its available and consequently my ‘Whos-Online’ script counts it as a visitor, hence installing the RevolverMap as this discounts these ‘bot’ visits.
Example of Pingdom status report.
Pingdom alert e-mail examples (The check-time was originally set to 1 minute before I relaised the impact on visitor numbers) –
Http://www.chatteris.biz (www.chatteris.biz) is down since 12/08/2014 08:49:37AM.
Http://www.chatteris.biz (www.chatteris.biz) is UP again at 12/08/2014 08:58:37AM, after 9m of downtime.
An additional way of alerting site visitors is with script ‘Flatline-check.php’, this offers an alert message to site visitors that a problem exists and that it has been escalated, this script not only reads the clientraw file, but crosschecks that certain key sensors are working, it does this by creating a file called flatline-status.txt, this file display a range of readings:-
1) Average Wind Speed
3) Wind Direction
4) Outside Temperature
72) Dew Point Temperature
The parameter numbers relate to clientraw table as above. Every 30 minutes a schedule (cron job) runs on the Go Daddy server which compares the latest ‘flatline-status.txt’ file to the earlier version, if they have changed indicating a healthy upload, no action is taken, if a problem is detected i.e. no changes made, I get an alerting e-mail, the next time data is refreshed, I get a further e-mail informing me that service has been restored.
‘Flatline-status.php’ actual alert e-mails –
Weather Data Appears Flatlined.
01-03-15 2:16 pm now. Last data change recorded at 01-03-15 1:35 pm (0.0 26 3.9 1017.1 3.2)
Weather Data Back Online.
Back active at 01-03-15 3:14 pm (4.1 329 4.2 1018.9 3.4)
Alert messages – this was after a planned power outage.
The top message was generated by ‘clientraw.php’ script, the lower messages based on ‘Flatlines-status.php’ would have appeared some 27 minutes later followed by an alerting e-mail, these are the ones pasted above.
Well, that’s how I do it so hopefully the data displayed is current, if not, at least two of us will know 😉