odoo.py auto-reload dev自动重启服务ENOSPC系统错误解决

发布时间:2016-04-28 15:12:52   来源:文档文库   
字号:

odoo.py auto-reload dev自动重启服务ENOSPC系统错误解决

Odoo8:

正常环境下直接–auto-reload参数运行缺库错误

ImportError:No module named pyinotify

pyinotify是一个Python模块,用来监测文件系统的变化

pyinotify依赖于Linux内核的inotify功能,是一个事件驱动的通知器,其通知接口通过三个系统调用从内核空间到用户空间

pyinotify结合这些系统调用,并提供一个顶级的抽象和一个通用的方式来处理这些功能

安装

pip install pyinotify

运行时错误:

pyinotify.py",line 1943,in add_watch

self._inotify_wrapper.str_errno()))

UnicodeDecodeError:'ascii'codec can't decode byte 0xe8 in position 6:ordinal not in range(128)

Odoo9:

正常环境下直接–dev参数运行日志警告

WARNING?openerp.service.server:'watchdog'module not installed.Code autoreload feature is disabled

Watchdog是一个跨平台的Python库和shell工具,可以监视文件系统事件。超级好用,并且容易上手

安装

pip install watchdog

运行时错误:

watchdog/observers/inotify_c.py",line 402,in_raise_error

raise OSError("inotify watch limit reached")

OSError:inotify watch limit reached

Node:

想起来当初刚玩node时也时常会遇到这个错误

不过大多直接sudo运行就可解决,简单理解权限问题也没有深究

但是odoo不能这么搞,源码限制:

Running as user'root'is a security risk,aborting.

还好从odoo9的报错信息里显而易见问题出自底层inotify对一般用户的限制

简单学习了下,得知其有个max_user_watches的内核参数限制普通用户一次最多关联监控个数。一般默认值8192,对于odoo这种大工程或稍大一点的node项目来说明显是不够用的

先通过如下方式验证:

[srj@x1c/]$cat/proc/sys/fs/inotify/max_user_watches

8192

然后通过su切换root身份动态更新配置值放大64倍

[srj@x1c/]$su-c'echo 524288>/proc/sys/fs/inotify/max_user_watches'

接着用不同版本的启动参数运行即可看到AutoReload watcher running成功了

INFO?openerp.service.server:Watching addons folder/home/srj/.local/share/Odoo/addons/8.0

INFO?openerp.service.server:AutoReload watcher running

最后还需要将动态修改的参数通过静态配置方式固化下来,否则每次重启还需要重复修改

Centos7下我不建议直接修改/etc/sysctl.conf文件配置,而是通过sysctl.d目录新建独立配置

[root@x1c sysctl.d]#pwd

/etc/sysctl.d

[root@x1c sysctl.d]#echo fs.inotify.max_user_watches=524288>91-inotify.conf

[root@x1c sysctl.d]#cat 91-inotify.conf

fs.inotify.max_user_watches=524288

然后重新启动或者使用

[root@x1c sysctl.d]#sysctl--system

*Applying/etc/sysctl.d/91-inotify.conf...

fs.inotify.max_user_watches=524288

*Applying/etc/sysctl.conf...

sysctl命令system参数立刻生效

本文来源:https://www.2haoxitong.net/k/doc/f646568a767f5acfa0c7cd10.html

《odoo.py auto-reload dev自动重启服务ENOSPC系统错误解决.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式