2015-11-06 6 views
5

ОписаниеПочему параметр -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.

+1

Возможно стоит посмотреть на watchdog https://pypi.python.org/pypi/watchdog –

+0

Спасибо! Но я предпочитаю использовать pyinotify, потому что я могу использовать его с opoo launcher – ChesuCR

+1

Существует модуль (http://bazaar.launchpad.net/~zaber/openobject-addons/zaber-custom/files/head:/module_reload/) который добавляет кнопку «Reload» для запуска следующей кнопки обновления. – Zety

ответ

2

Единственное, что я нашел, это изолировать пользовательские модули в другой папке. Я добавил новую папку в пути аддонов в конфигурационном файле, и теперь все работает отлично

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

PD: Я сохранил папки модуля непосредственно в папке custom вместо сохранения ссылки на папки.

 Смежные вопросы

  • Нет связанных вопросов^_^