General

¡Bienvenido a los foros Aeodoo!

Somos la comunidad de Odoo internacional hispanohablante.
Estos foros son para compartir y debatir dudas técnicas, funcionales y mejores prácticas para Odoo. Recuerda que no están permitidos los insultos, descalificaciones o spam, cualquier conducta reprobable supondrá el baneo del usuario.

0

[16] CE - No funciona longpooling/websocket no refresca el chat

Hola,

En una instalación realizada en docker, con portainer, usando el dockerfile oficial de odoo, solo cambiando que expongo el puerto 8072 (es decir, 8069:8069 y además 8072:8072) y noginxproxymanager.com como proxy inverso

Me da error y no funcina el longpooling/websocket


Estas son las versiones de librerias python

cryptography        3.4.8

gevent              20.9.0

greenlet            0.4.17

Parece que pasa algo con greenlet, tuve que bajar greenlet a 0.4.17 porque sinó no funcionaba el odoo 

¿Alguien sabe como arreglar esto?

Saludos y gracia


1 Comentario
Avatar
Descartar

Error

2024-02-23 07:12:00,175 17 INFO teslaspain werkzeug: 172.19.0.1 - - [23/Feb/2024 07:12:00] "GET /websocket HTTP/1.1" 500 - 37 0.094 4.110
2024-02-23 07:12:26,751 16 ERROR teslaspain odoo.http: Exception during request handling.
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/addons/bus/websocket.py", line 818, in open_connection
socket = request.httprequest._HTTPRequest__environ['socket']
KeyError: 'socket'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/http.py", line 2044, in __call__
response = request._serve_db()
File "/usr/lib/python3/dist-packages/odoo/http.py", line 1633, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 133, in retrying
result = func()
File "/usr/lib/python3/dist-packages/odoo/http.py", line 1660, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 1774, in dispatch
return self.request.registry['ir.http']._dispatch(endpoint)
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_http.py", line 154, in _dispatch
result = endpoint(**request.params)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 697, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "/usr/lib/python3/dist-packages/odoo/addons/bus/controllers/websocket.py", line 18, in websocket
return WebsocketConnectionHandler.open_connection(request)
File "/usr/lib/python3/dist-packages/odoo/addons/bus/websocket.py", line 830, in open_connection
raise RuntimeError(
RuntimeError: Couldn't bind the websocket. Is the connection opened on the evented port (8072)?

3 Respuestas
2
Avatar
Valentín Vinagre
Mejor respuesta

Hola Fernando,

te dejo un ejemplo del fabricante donde explica como configurar nginx.

https://www.odoo.com/documentation/16.0/administration/install/deploy.html?highlight=nginx#id7


Un saludo,

1 Comentario
Avatar
Descartar

Gracias Valentín

Para mi, al no ser un ingeniero , me viene mejor apoyarme en herramientas con panel gráfico como nginxproxymanager.com
Al resolver un pequeño error , ya funciona.

Saludos

0
Mejor respuesta

Hola,

Gracias por contestar,

Soy muy torpe, tenía algo sin configurar, ahora funciona bien

Era un problema del proxy que al cambiar cosas me olvidé de ponerlo bien.

Con las librerias python de arriba, si funciona. Ló único que hay que cambiar es bajar greenlet a 0.4.17


Saludos y gracias



Avatar
Descartar
0
Mejor respuesta

Hola Fernando.

Entiendo que estás utilizando Odoo v16 (a partir de esta versión ya no es compatible longpolling y funciona únicamente por websocket). ¿Qué configuración tienes hecha en el vhost de Nginx para websocket? Creo que ahí está la clave.

Un saludo.

Avatar
Descartar

Su respuesta

Intente dar una respuesta sustancial. Si desea hacer un comentario sobre la pregunta o la respuesta, utilice la herramienta de comentarios. Recuerde que siempre puede revisar sus respuestas , no es necesario responder dos veces a la misma pregunta. No olvide votar , ayuda a seleccionar las mejores preguntas y respuestas