跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 开发与实施交流
  4. 一个Odoo14服务频繁崩溃的案例

一个Odoo14服务频繁崩溃的案例

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
5 帖子 4 发布者 4.5k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 保 离线
    保 离线
    保定_粉刷匠
    写于 最后由 保定_粉刷匠 编辑
    #1

    Odoo14,操作系统Ubuntu18.04
    系统现象:正在使用的生产环境中的Odoo服务频繁崩溃,一天需要重启服务器多次。
    通过查看日志,发现下列异常记录:
    2021-04-15 12:59:11,665 27426 WARNING ? odoo.service.server: Thread <Thread(odoo.service.http.request.140616848307968, started 140616848307968)> virtual real time limit (137/120s) reached.
    2021-04-15 12:59:11,665 27426 INFO ? odoo.service.server: Dumping stacktrace of limit exceeding threads before reloading
    2021-04-15 12:59:11,674 27426 INFO ? odoo.tools.misc:

    Thread: <Thread(odoo.service.http.request.140616848307968, started 140616848307968)> (db:) (uid:n/a) (url:http://8.8.8.8:8069/web/database/backup)

    File: "/usr/lib/python3.6/threading.py", line 884, in _bootstrap
    self._bootstrap_inner()
    File: "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
    File: "/usr/lib/python3.6/threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
    File: "/usr/lib/python3.6/socketserver.py", line 654, in process_request_thread
    self.finish_request(request, client_address)
    File: "/usr/lib/python3.6/socketserver.py", line 364, in finish_request
    self.RequestHandlerClass(request, client_address, self)
    File: "/usr/lib/python3.6/socketserver.py", line 724, in init
    self.handle()
    File: "/opt/odoo14/odoo14-venv/lib/python3.6/site-packages/werkzeug/serving.py", line 329, in handle
    rv = BaseHTTPRequestHandler.handle(self)
    File: "/usr/lib/python3.6/http/server.py", line 418, in handle
    self.handle_one_request()
    File: "/opt/odoo14/odoo14-venv/lib/python3.6/site-packages/werkzeug/serving.py", line 364, in handle_one_request
    return self.run_wsgi()
    File: "/opt/odoo14/odoo14-venv/lib/python3.6/site-packages/werkzeug/serving.py", line 306, in run_wsgi
    execute(self.server.app)
    File: "/opt/odoo14/odoo14-venv/lib/python3.6/site-packages/werkzeug/serving.py", line 297, in execute
    write(data)
    File: "/opt/odoo14/odoo14-venv/lib/python3.6/site-packages/werkzeug/serving.py", line 278, in write
    self.wfile.write(data)
    File: "/usr/lib/python3.6/socketserver.py", line 803, in write
    self._sock.sendall(b)
    2021-04-15 12:59:11,675 27426 INFO ? odoo.service.server: Initiating server reload
    2021-04-15 12:59:12,092 27426 DEBUG ? odoo.service.server: current thread: <_MainThread(MainThread, started 140617347565376)>
    2021-04-15 12:59:12,093 27426 DEBUG ? odoo.service.server: process <_MainThread(MainThread, started 140617347565376)> (False)
    2021-04-15 12:59:12,093 27426 DEBUG ? odoo.service.server: process <Thread(odoo.service.cron.cron0, started daemon 140617081812736)> (True)
    2021-04-15 12:59:12,093 27426 DEBUG ? odoo.service.server: process <Thread(odoo.service.cron.cron1, started daemon 140617073420032)> (True)
    2021-04-15 12:59:12,093 27426 DEBUG ? odoo.service.server: process <Thread(odoo.addons.bus.models.bus.Bus, started daemon 140616909182720)> (True)
    2021-04-15 12:59:12,093 27426 DEBUG ? odoo.service.server: process <Thread(odoo.service.http.request.140616848307968, started 140616848307968)> (False)
    2021-04-15 12:59:12,093 27426 DEBUG ? odoo.service.server: process <Thread(openerp.longpolling.request.140616881878784, started daemon 140616881878784)> (True)
    2021-04-15 12:59:12,093 27426 DEBUG ? odoo.service.server: --
    分析:这台服务器的操作系统是Ubuntu18.04,按说Odoo18.04是直接安装不了Odoo14的deb包的,猜测这台服务器应该是采用了特殊的安装方法,查看Odoo服务,果然发现使用了Python虚拟环境。猜测这次莫名其妙的问题应该和这个虚拟python环境相关。
    因为我以前在Ubuntu18.04测试过Odoo14的源码运行,所以只要手动安装好Odoo14的依赖,Odoo14是可以在Ubuntu1804上运行的。
    解决办法:
    因为客户是生产环境,包含重要数据,所以小心翼翼的做好了数据库备份、附件备份,当前配置的各种备份。然后直接安装Odoo14的Python依赖,不再使用Python虚拟环境。
    Odoo学习QQ群号:374626483
    效果:
    Odoo崩溃现象消失,客户反馈说Odoo响应速度还提升了不少。
    总结:
    建议直接使用官方Odoo14的deb包安装,使用野路子安装很可能带来莫名其妙的问题。

    1 条回复 最后回复
    0
    • digitalsatoriD 离线
      digitalsatoriD 离线
      digitalsatori 管理员
      写于 最后由 digitalsatori 编辑
      #2

      感觉你既没有分析出问题的实际原因也不明白什么是Python的虚拟环境,最后的结论也不完全正确。

      就你目前贴的log看:

      thread <Thread(odoo.service.http.request.140616848307968, started 140616848307968)> virtual real time limit (137/120s) reached.

      这里看到有线程运行超时被系统终止

      Thread: <Thread(odoo.service.http.request.140616848307968, started 140616848307968)> (db:) (uid:n/a) (url:http://8.8.8.8:8069/web/database/backup)

      这里看到应该是在做数据库备份。

      所以猜测问题的可能原因是安装了第三方自动数据库备份模块,可能跟数据库备份的异常终止有关。

      Python的虚拟环境是用来隔离系统Python或其他Python环境的函数库环境的,是为了保证函数库版本不冲突的。

      没有 “莫名其妙” 的问题,只有不理解的问题。

      【上海先安科技】(tony AT openerp.cn)

      保 1 条回复 最后回复
      1
      • 保 离线
        保 离线
        保定_粉刷匠
        在 回复了 digitalsatori 最后由 保定_粉刷匠 编辑
        #3

        @digitalsatori 是的,当时我也以为是数据库备份的问题,后来我问了客户,客户没有安装自动备份模块,而且手动备份后的数据库也很小,才几Mb。后来就没在数据库备份上找问题。我把日志level改为debug,也还是提示这个,其它日志都正常,但确实客户没有备份。后来百度了很久,有帖子说可能和虚拟python环境有关,才取消了python虚拟环境,Odoo服务就正常了。

        1 条回复 最后回复
        0
        • Y 离线
          Y 离线
          youring
          写于 最后由 编辑
          #4

          FOR THE RECORD
          --limit-time-real=0
          https://github.com/odoo/odoo/issues/28808

          1 条回复 最后回复
          0
          • ieitzybI 离线
            ieitzybI 离线
            ieitzyb
            写于 最后由 编辑
            #5

            第三方自动数据库备份

            http://www.OuduPLM.com/ 苏州欧度软件,专注服装行业(鳴謝:37signals,Trello,ProcessON,重庆慧积,上海开阖)

            1 条回复 最后回复
            0

            • 登录

            • 没有帐号? 注册

            • 登录或注册以进行搜索。
            • 第一个帖子
              最后一个帖子
            0
            • 版块
            • 标签
            • 热门
            • 用户
            • 群组