Allow polling for changes in watched folder
Some underlying file systems might not trigger change events (e.g.
mounted remote file systems). Added a feature flag to allow for
switching to a (less performant) polling method.
(cherry picked from commit f2df174)
This commit is contained in:
parent
8735b10653
commit
549b60edb1
2 changed files with 9 additions and 2 deletions
|
|
@ -14,6 +14,7 @@ from flask.ext.babel import Babel, gettext, ngettext
|
|||
from flask.ext.assets import Environment, Bundle
|
||||
from babel import Locale
|
||||
from watchdog.observers import Observer
|
||||
from watchdog.observers.polling import PollingObserver
|
||||
from collections import defaultdict
|
||||
|
||||
import os
|
||||
|
|
@ -399,7 +400,12 @@ class Server():
|
|||
printer.connect(port=port, baudrate=baudrate, profile=printer_profile["id"] if "id" in printer_profile else "_default")
|
||||
|
||||
# start up watchdogs
|
||||
observer = Observer()
|
||||
if s.getBoolean(["feature", "pollWatched"]):
|
||||
# use less performant polling observer if explicitely configured
|
||||
observer = PollingObserver()
|
||||
else:
|
||||
# use os default
|
||||
observer = Observer()
|
||||
observer.schedule(util.watchdog.GcodeWatchdogHandler(fileManager, printer), s.getBaseFolder("watched"))
|
||||
observer.start()
|
||||
|
||||
|
|
|
|||
|
|
@ -142,7 +142,8 @@ default_settings = {
|
|||
"repetierTargetTemp": False,
|
||||
"externalHeatupDetection": True,
|
||||
"supportWait": True,
|
||||
"keyboardControl": True
|
||||
"keyboardControl": True,
|
||||
"pollWatched": False
|
||||
},
|
||||
"folder": {
|
||||
"uploads": None,
|
||||
|
|
|
|||
Loading…
Reference in a new issue