Odoo的启动过程是怎么样的?

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。


Odoo 启动过程解析
作者简介
本期作者为黄华信,一位专注于Odoo后端开发的工程师。
一个幻想
本文旨在深入了解Odoo的启动过程,从启动命令到web服务器的创建,以期构建一套完整的Odoo框架。
Odoo启动时系统准备
Odoo启动时调用Odoo-bin启动文件中的main函数,该函数负责解析命令行参数,执行相应操作,默认启动主服务进程。
Odoo的启动方式
Odoo主程序关键文件为cli模块下的server.py,主要检查启动用户和文件大小限制,根据配置启动server服务器。主要启动类型有ThreadedServer(多线程),GeventServer(协程),PreforkServer(多进程)。
ThreadedServer模式启动
系统默认以ThreadedServer方式启动,同时启动HttpServer和CronThread,通过配置确定线程数量,创建ThreadedWSGIServerReloadable监听请求。
Gevent模式启动
Gevent模式使用WSGISever,以协程方式工作在8072端口,处理长连接请求。
PreforkServer模式启动
PreforkServer模式fork多个进程,采用gunicorn驱动,处理子进程后孵化新进程,创建GeventServer处理长连接任务。
Odoo启动后
Odoo主进程启动后进入监听模式,http.py文件中Root类负责加载addons模块,挂载session,绑定数据库,设置语言环境,处理请求异常。
回顾整个流程
通过系统配置文件启动程序,选择不同的启动类型执行启动,理解整个启动过程有助于掌握Odoo的运行机制。
文章最后鼓励读者通过提供的二维码加入群聊,共同构建更好的Odoo生态。
想要了解更多内容?




白皮书上线