From 85790f886678bc4914157c565deb72a5c39fa745 Mon Sep 17 00:00:00 2001 From: Tamas Kocsis Date: Mon, 21 Sep 2020 18:20:49 +0200 Subject: [PATCH] Check sites on ip change --- src/File/FileServer.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/File/FileServer.py b/src/File/FileServer.py index 2a50cb90..5f18c645 100644 --- a/src/File/FileServer.py +++ b/src/File/FileServer.py @@ -340,16 +340,27 @@ class FileServer(ConnectionServer): # Detects if computer back from wakeup def wakeupWatcher(self): last_time = time.time() + last_my_ips = socket.gethostbyname_ex('')[2] while 1: time.sleep(30) - if time.time() - max(self.last_request, last_time) > 60 * 3: + is_time_changed = time.time() - max(self.last_request, last_time) > 60 * 3 + if is_time_changed: # If taken more than 3 minute then the computer was in sleep mode self.log.info( - "Wakeup detected: time warp from %s to %s (%s sleep seconds), acting like startup..." % + "Wakeup detected: time warp from %0.f to %0.f (%0.f sleep seconds), acting like startup..." % (last_time, time.time(), time.time() - last_time) ) + + my_ips = socket.gethostbyname_ex('')[2] + is_ip_changed = my_ips != last_my_ips + if is_ip_changed: + self.log.info("IP change detected from %s to %s" % (last_my_ips, my_ips)) + + if is_time_changed or is_ip_changed: self.checkSites(check_files=False, force_port_check=True) + last_time = time.time() + last_my_ips = my_ips # Bind and start serving sites def start(self, check_sites=True):