Vince and Peter, Thanks for your thoughts! I will be working on some type of logging throttle. rich
On Saturday, 8 April 2023 at 14:18:50 UTC-4 Peter Fletcher wrote: > Vince's 1a is good, and not particularly difficult to implement. What I > also do in some of my household control services (though I haven't felt the > need to do it for anything in weewx) is send myself an email for serious > problems. Depending on the severity of the problem, I either send a single > email message when it first occurs or send messages at specified intervals > until the problem is fixed. > > On Friday, April 7, 2023 at 7:07:01 PM UTC-4 Vince Skahan wrote: > >> 4. Validate your input to prevent accepting garbage in completely in >> your service. That's separate from logging or not. >> >> 1a. Make your logging do something like how networking does exponential >> backoff so you get 'some' indications but if things run really amok you >> don't flood your logs. Log it if you see N messages. Back off til you >> see N*2, then N*4, etc. unless you have some definable quiet period to let >> logging reset its settings. Easier said than done I guess :-) >> >> 5. Use cron or logwatch or equivalent to look for those messages in your >> syslog and perhaps trigger some command to tell your service to back off on >> its logging. >> >> On Friday, April 7, 2023 at 1:56:16 PM UTC-7 [email protected] wrote: >> >>> Suppose a WeeWX service is augmenting loop packets. After some time >>> passes, it starts to receive bad data, logs this information, and ignores >>> the bad data. If the service continues to receive bad data it will ‘flood’ >>> the log with these error messages. I see a few possible ways to stop this. >>> >>> 1. Throttle the logging. For example, after X errors only log every >>> Nth message. >>> 2. Have the service shut itself down. This would probably require >>> accessing the engine’s internal callbacks data structure or an >>> enhancement >>> to allow ‘unbinding’ to events. >>> 3. Raise an exception, causing WeeWX to terminate. >>> At first glance 3 seems a bit severe. But if this data is critical, >>> it could make sense to stop WeeWX. Option 2 intrigues me if the problem >>> is >>> due to the computer being stressed (CPU, RAM, network, etc.). Stopping >>> the >>> service might help determine if the service is the cause or not. Option >>> 1 >>> seems the simplest and leaves the possibility that good data will start >>> arriving and everything will ‘self correct’ and is the option I am >>> leaning >>> towards. >>> >>> Thoughts? >>> Thanks. - rich >>> >> -- You received this message because you are subscribed to the Google Groups "weewx-development" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-development/7c7c5445-63b6-4e4f-8fac-18fa1bef6af7n%40googlegroups.com.
