如果插件路径内容链接到模块,为什么参数 --auto-reload 不起作用?
Why the parameter --auto-reload is not working if the addons path content are links to modules?
描述
通常,如果您更改 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)
但我听从了 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 中管理模块文件夹的方式。
我找到的唯一解决方案是将自定义模块隔离在不同的文件夹中。我已将新文件夹添加到配置文件中的插件路径,现在一切正常
addons_path = /opt/odoo_8/src/linked-addons,/opt/odoo_8/src/custom
PD:我直接将模块文件夹保存在 custom
文件夹中,而不是保存文件夹的链接。
描述
通常,如果您更改 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)
但我听从了 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 中管理模块文件夹的方式。
我找到的唯一解决方案是将自定义模块隔离在不同的文件夹中。我已将新文件夹添加到配置文件中的插件路径,现在一切正常
addons_path = /opt/odoo_8/src/linked-addons,/opt/odoo_8/src/custom
PD:我直接将模块文件夹保存在 custom
文件夹中,而不是保存文件夹的链接。