Stop fs watcher with UiServer

This commit is contained in:
shortcutme 2019-04-10 14:56:10 +02:00
parent a20ff59572
commit ac799a60da
No known key found for this signature in database
GPG key ID: 5B63BAE6CB9613AE
2 changed files with 12 additions and 4 deletions

View file

@ -23,14 +23,14 @@ class DebugReloader:
self.last_chaged = 0
self.callbacks = []
if enabled:
observer = watchdog.observers.Observer()
self.observer = watchdog.observers.Observer()
event_handler = watchdog.events.FileSystemEventHandler()
event_handler.on_modified = event_handler.on_deleted = self.onChanged
event_handler.on_created = event_handler.on_moved = self.onChanged
for path in paths:
self.log.debug("Adding autoreload: %s" % path)
observer.schedule(event_handler, path, recursive=True)
observer.start()
self.observer.schedule(event_handler, path, recursive=True)
self.observer.start()
def addCallback(self, f):
self.callbacks.append(f)
@ -49,4 +49,9 @@ class DebugReloader:
except Exception as err:
self.log.exception(err)
def stop(self):
if enabled:
self.observer.stop()
self.log.debug("Stopped autoreload observer")
watcher = DebugReloader()

View file

@ -182,6 +182,9 @@ class UiServer:
self.log.debug("Http connection close error: %s" % err)
self.log.debug("Socket closed: %s" % sock_closed)
time.sleep(0.1)
if config.debug:
from Debug import DebugReloader
DebugReloader.watcher.stop()
self.server.socket.close()
self.server.stop()
@ -189,4 +192,4 @@ class UiServer:
def updateWebsocket(self, **kwargs):
for ws in self.websockets:
ws.event("serverChanged", kwargs)
ws.event("serverChanged", kwargs)