-
-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reload csv on update #321
base: develop
Are you sure you want to change the base?
Reload csv on update #321
Conversation
- create a function to watch for changes in csv-dir - import pyinotify (use pip to install it if necessary) and threading - starting thread to work parallel - end thread while exiting boswatch
Noch kurz als Erklärung, wie ich mir das ganze gedacht (und zum Teil mit Code-Schnippseln zusammengeklaut) habe: Die Funktion csv_watch ist das Arbeitstier, wenn es um die Beobachtung des Verzeichnis geht. Der watchmanager (wm) kriegt übergeben, dass er bei einer Änderung der Dateien im Verzeichnis oder beim Erstellen einer Datei eine Aktion ausführen soll, hier das Nachladen der Beschreibungen. Hinweise zu pyinotify sind hier: https://github.com/seb-m/pyinotify Prinzipiell klappt das ganze auch; der Thread wird gestartet, die Aktualisierungen werden eingeladen und beim nächsten Auftreten des Alarms auch ausgegeben. Was nicht klappt, ist das Beenden von Boswatch - das könnte sein, dass es eigentlich keine Möglichkeit gibt, einen Thread zu stoppen (daher der Kunstgriff mit der Variable run, gefunden auf sourceforge). Eventuell hat jemand noch ne Idee, wie man das anders angehen kann. |
https://docs.python.org/2/library/threading.html#thread-objects speziell hier: Sprich wenn du den Thread als Daemon startest, dann stirbt der mit, wenn der main Thread beendet wird. |
- daemonize observing thread - csv-dir depending on installation-dir - cleaning up the code
Super Hinweis, danke - was so ein einzelnes Flag doch auslösen kann. Habs eingebaut, und - oh Wunder - es tut was es soll ;-) |
@flothi |
Probleme gab's keine, zumindest sind mir keine untergekommen |
Wenn ich das Richtig sehe, wird ein neuer Thread gestartet, indem die CSV Files überwacht und bei Bedarf neu nachgeladen werden? Wird der Thread immer gestartet? Kann man das deaktivieren? Evtl macht es sinn diese Funktion in der config zu hinterlegen. Wer keine CSV Files nutzt braucht auch kein dynamisches nachladen und kann sich demzufolge die Prozessorlast auch einsparen, |
Der wird aktuell immer gestartet, man könnte das sicherlich schaltbar machen Da fehlt mir allerdings aktuell die Zeit für |
Dieser PR ist (noch) unvollständig, anzupassen:
Betrifft #261
Beschreibung des commit: