odoo18多线程运行日志老是提示内容,和规则权限的domain定义
-
一、
先说多线程这个,这个是主要的问题服务在linux上运行的,外网访问的时候,使用的是映射,通过域名映射到服务器上的8072端口,没有使用nginx。问题出现,配置文件中使用了workers = 8运行,
日志中一直会重复出现一个提示的错误:
bus模块中websocket下的open_connection方法中
raise RuntimeError(
f"Couldn't bind the websocket. Is the connection opened on the evented port ({config['gevent_port']})?"
) from exc
gevent_port没有在配置文件中,但是默认是8072好像,因为日志老是报这个端口不知道是什么问题?我也试了在配置文件中加上gevent_port参数但还是会报错,换一个端口,就报错成更换的端口
虽然报错,但是服务还是可以访问的我不太懂,是不是多个线程同时使用了一个端口,导致彼此无法运行,实际开的是8个,但是运行的是一个。
二、
就是规则的问题
面试官查看是自己的培训计划
[('department_id', 'child_of', user.employee_id.department_id.id)]
服务启动的时候老是会有一个警告的日志
2025-05-29 15:14:00,168 12112 WARNING qweasd odoo.osv.expression: Unexpected domain [('department_id', 'child_of', False)], interpreted as False
怎么写才能把这个警告的日志去掉,xml中有没有其他写法 -
@fang 在 odoo18多线程运行日志老是提示内容,和规则权限的domain定义 中说:
先说多线程这个,这个是主要的问题
服务在linux上运行的,外网访问的时候,使用的是映射,通过域名映射到服务器上的8072端口,没有使用nginx。问题出现,配置文件中使用了workers = 8运行,
首先,
多线程
的说法是错误,当配置了workers >1
时,Odoo实例工作在多进程
模式下。自行查阅“多进程”和“多线程”的区别。工作在多进程模式下的Odoo一般需要配置
Nginx
这种反向代理。否则,每个进程的长轮询websocket服务端口都会竞争绑定到同一个端口(默认为8072),只有第一个成功,其余失败,后续进程因无法绑定事件端口,触发 WebSocket 初始化失败,导致 RuntimeError。面试官查看是自己的培训计划
[('department_id', 'child_of', user.employee_id.department_id.id)]
服务启动的时候老是会有一个警告的日志
2025-05-29 15:14:00,168 12112 WARNING qweasd odoo.osv.expression: Unexpected domain >[('department_id', 'child_of', False)], interpreted as False因为一个用户可能没有对应的employee,或者这个用户对应的employee没有设置department,那样的话
user.employee_id.department_id.id
都会返回False
-