2015-11-06 12 views
5

BeschreibungWarum funktioniert der Parameter --auto-reload nicht, wenn der Inhalt des Addons Pfad Links zu Modulen sind?

Normalerweise, wenn Sie Ihren Python-Code bedeutet, ändern, müssen Sie den Server neu starten, um die neuen Änderungen zu übernehmen.

Wenn der Parameter --auto-reload aktiviert ist, bedeutet dies, dass Sie den Server nicht neu starten müssen. Es ermöglicht das automatische Neuladen von Python-Dateien und XML-Dateien, ohne dass der Server neu gestartet werden muss. Es erfordert pyinotify. Es ist ein Python-Modul zum Überwachen von Dateisystemänderungen.

Zurück Problem

ich den Fehler bekam:

ERROR ? pyinotify: add_watch: cannot watch /home/user/.local/share/Odoo/addons/8.0 WD=-1, Errno=No space left on device (ENOSPC) 

Aber ich folgte dem Rat von this link und jetzt habe ich diesen Fehler nicht bekommen mehr:

sysctl -n -w fs.inotify.max_user_watches=16384 

Nach dies habe ich im Serverprotokoll:

openerp.service.server: Watching addons folder /opt/odoo_8/src/linked-addons 
openerp.service.server: AutoReload watcher running 

Das bedeutet, dass es richtig funktioniert. Und tatsächlich habe ich es mit einem physischen Addon-Pfad getestet und es hat funktioniert.

Aktuelles Problem

Ich habe alle meine Module en mehrere Ordner aber ich verwende nur ein Add-ons-Pfad: /opt/odoo_8/src/linked-addons. Dieser Ordner enthält alle Links der Module, die ich verwende. Alle Module funktionieren gut, wenn ich Odoo betreibe.

Aber das Problem ist, dass pyinotify nicht in der Lage ist, die Dateien über die Links hinaus zu überprüfen, und es die Dateien nicht gut neu lädt. Was sollte ich tun, um das zu beheben? Kann Pyinotify den Inhalt der Links erkennen?

PD: Ich möchte nicht meine Art der Verwaltung der Module Ordner in Odoo ändern.

+1

Vielleicht lohnt sich Watchdog zu betrachten https://pypi.python.org/pypi/watchdog –

+0

Vielen Dank! Aber ich bevorzuge pyinotify, weil ich es mit dem odoo launcher verwenden kann – ChesuCR

+1

Es gibt ein Modul (http://bazaar.launchpad.net/~zaber/openobject-addons/zaber-custom/files/head:/module_reload/) das fügt eine Taste 'Reload' hinzu, um die nächste Upgrade-Taste zu öffnen. – Zety

Antwort

2

Die einzige Lösung, die ich gefunden habe, ist, die benutzerdefinierten Module in einem anderen Ordner zu isolieren. Ich habe die neuen Ordner in dem Addons Pfad in der Konfigurationsdatei hinzugefügt und jetzt funktioniert alles einwandfrei

addons_path = /opt/odoo_8/src/linked-addons,/opt/odoo_8/src/custom 

PD: Ich die Modulordner direkt im custom Ordner gespeichert, anstatt die Links zu den Ordnern speichern.