odoo workers

 odoo 在配置workers后会有如下错误

Traceback (most recent call last):

  File "/opt/odoo/openerp/http.py", line 530, in _handle_exception

    return super(JsonRequest, self)._handle_exception(exception)

  File "/opt/odoo/openerp/http.py", line 567, in dispatch

    result = self._call_function(**self.params)

  File "/opt/odoo/openerp/http.py", line 303, in _call_function

    return checked_call(self.db, *args, **kwargs)

  File "/opt/odoo/openerp/service/model.py", line 113, in wrapper

    return f(dbname, *args, **kwargs)

扫描二维码关注公众号,回复: 329362 查看本文章

  File "/opt/odoo/openerp/http.py", line 300, in checked_call

    return self.endpoint(*a, **kw)

  File "/opt/odoo/openerp/http.py", line 796, in __call__

    return self.method(*args, **kw)

  File "/opt/odoo/openerp/http.py", line 396, in response_wrap

    response = f(*args, **kw)

  File "/opt/odoo/addons/bus/bus.py", line 188, in poll

    raise Exception("bus.Bus unavailable")

原因:

工人> 0会有很多线程在端口8069上。

你也会有几个cron线程8069(max-cron-threads)。

一个gevent线程在端口8072上(longpolling-port)。

这里的问题就在8072上,web会用8069请求longpolling。所以http出错。

解决方法:

安装返向代理,用http://host:80代理 http://localhost:8069/ 和 http://localhost:8072/longpolling即可

如nginx配置

        location / {
                proxy_pass        http://localhost:8069/;
                proxy_redirect    off;
                proxy_set_header  X-Real-IP        $remote_addr;
                proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
        }

        location /longpolling/ {
                proxy_pass        http://localhost:8072/longpolling/;
                proxy_redirect    off;
                proxy_set_header  X-Real-IP        $remote_addr;
                proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
        }

猜你喜欢

转载自yinxvxv.iteye.com/blog/2196724