如果addons路径内容是模块的链接,为什么参数--auto-reload不起作用?

Che*_*uCR 5 python pyinotify python-2.7 odoo odoo-8

描述

通常,如果更改python代码意味着,则需要重新启动服务器才能应用新更改.

如果--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)
Run Code Online (Sandbox Code Playgroud)

但我按照这个链接的建议,现在我不再得到这个错误:

sysctl -n -w fs.inotify.max_user_watches=16384
Run Code Online (Sandbox Code Playgroud)

在此之后我在服务器日志中得到了这个:

openerp.service.server: Watching addons folder /opt/odoo_8/src/linked-addons
openerp.service.server: AutoReload watcher running
Run Code Online (Sandbox Code Playgroud)

这意味着它正常工作.事实上,我用一个物理插件路径测试它,它工作.

当前的问题

我的所有模块都有几个文件夹,但我只使用一个插件路径:/opt/odoo_8/src/linked-addons.此文件夹包含我正在使用的模块的所有链接.当我运行Odoo时,所有模块都运行良好.

但问题是pyinotify无法检查链接之外的文件,也不能很好地重新加载文件.我应该怎么做才能解决这个问题?pyinotify有没有办法识别链接的内容?

PD:我不想改变我在Odoo中管理模块文件夹的方式.

Che*_*uCR 2

我发现的唯一解决方案是将自定义模块隔离在不同的文件夹中。我已将新文件夹添加到配置文件中的插件路径中,现在一切正常

addons_path = /opt/odoo_8/src/linked-addons,/opt/odoo_8/src/custom
Run Code Online (Sandbox Code Playgroud)

PD:我将模块文件夹直接保存在custom文件夹中,而不是保存文件夹的链接。