ОписаниеПочему параметр -auto-reload не работает, если содержимое пути аддонов является ссылкой на модули?
Обычно, если вы измените ваш код питона означает, что вам нужно перезапустить сервер для того, чтобы применить новые изменения.
Если параметр --auto-reload
включен, вам не нужно перезапускать сервер. Он позволяет автоматически перезагружать файлы python и xml-файлы без перезагрузки сервера. Он требует pyinotify. Это модуль Python для мониторинга изменений файловой системы.
Предыдущая проблема
я получил ошибку:
ERROR ? pyinotify: add_watch: cannot watch /home/user/.local/share/Odoo/addons/8.0 WD=-1, Errno=No space left on device (ENOSPC)
Но я последовал совету this link и теперь я не получаю эту ошибку больше:
sysctl -n -w fs.inotify.max_user_watches=16384
После это я получил это в журнале сервера:
openerp.service.server: Watching addons folder /opt/odoo_8/src/linked-addons
openerp.service.server: AutoReload watcher running
Это означает, что он работает правильно. И на самом деле я протестировал его с помощью физического аддона, и он сработал.
Текущая задача
У меня есть все мои модули собственной несколько папок, но я использую только один путь аддоны: /opt/odoo_8/src/linked-addons
. Эта папка содержит все ссылки модулей, которые я использую. Все модули работают хорошо, когда я запускаю Odoo.
Но проблема в том, что pyinotify не может проверять файлы за пределами ссылок и не перезагружает файлы. Что я должен сделать, чтобы исправить это? Есть ли способ, которым pyinotify может распознавать содержание ссылок?
PD: Я не хочу менять свой способ управления папками модулей в Odoo.
Возможно стоит посмотреть на watchdog https://pypi.python.org/pypi/watchdog –
Спасибо! Но я предпочитаю использовать pyinotify, потому что я могу использовать его с opoo launcher – ChesuCR
Существует модуль (http://bazaar.launchpad.net/~zaber/openobject-addons/zaber-custom/files/head:/module_reload/) который добавляет кнопку «Reload» для запуска следующей кнопки обновления. – Zety