扫码阅读
手机扫码阅读

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

423 2023-09-07

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生态。

想要了解更多,点击 查看原文