Better internet outage detection based on last message from connections

This commit is contained in:
HelloZeroNet 2016-03-19 18:14:09 +01:00
parent fcd4253a8d
commit f3c8d5e541
2 changed files with 28 additions and 10 deletions

View file

@ -36,18 +36,15 @@ class FileServer(ConnectionServer):
)
else:
self.log.debug("FileRequest: %s %s" % (str(connection), message["cmd"]))
# Internet connection outage detection
if len(self.connections) > 5:
if time.time() - self.last_request > 60*5:
self.log.info("Internet outage detected, no requests received for %.0fs" % (time.time() - self.last_request))
self.last_request = time.time()
gevent.spawn(self.checkSites, check_files=False, force_port_check=True)
else:
self.last_request = time.time()
req = FileRequest(self, connection)
req.route(message["cmd"], message.get("req_id"), message.get("params"))
if not self.has_internet:
self.has_internet = True
self.onInternetOnline()
def onInternetOnline(self):
self.log.info("Internet online")
gevent.spawn(self.checkSites, check_files=False, force_port_check=True)
# Reload the FileRequest class to prevent restarts in debug mode
def reload(self):