GeekTop
  • 首页
  • 关于

GeekTop

不止代码

Odoo 源码分析: 启动和加载

Odoo 源码分析: 启动和加载

2018年11月16日 Alex Comments 0 Comment

我是最早在 2015 年的时候接触 Odoo,那个时候还只是停留在简单使用的阶段,当时下载了 Bitnami 封装好的安装包,整个过程非常简单。给我印象最深的是 Odoo 有众多模块,可以按需安装,非常方便。

今年公司使用 Odoo 作为 WMS 系统,实施期间遇到了一些问题,因此我深入研究了 Odoo 的源码。现在,我可以在这里分享一下我的一些见解。我打算写一个系列的文章,具体写几篇还没想好。至于版本,就用目前最新的 12.0。


今天先从启动和加载说起。

首先,GitHub 上取一份代码:

git clone https://github.com/odoo/odoo.git
git checkout 12.0

可以先看一下目录结构

$ tree -L 1
.
├── CONTRIBUTING.md
├── COPYRIGHT
├── LICENSE
├── MANIFEST.in
├── README.md
├── addons
├── debian
├── doc
├── odoo
├── odoo-bin
├── requirements.txt
├── setup
├── setup.cfg
└── setup.py

6 directories, 9 files

项目提供了安装脚本 setup.py,执行安装脚本会自动安装所有依赖,也可以不通过 setup.py 安装,在安装好 requirements.txt 的依赖后直接通过 odoo-bin 运行,两种方式效果是一样的。我一般会直接通过 odoo-bin 运行项目,方便管理。

启动的过程

可以先看一下 odoo-bin 这个脚本的内容:

#!/usr/bin/env python3

# set server timezone in UTC before time module imported
__import__('os').environ['TZ'] = 'UTC'
import odoo

if __name__ == "__main__":
    odoo.cli.main()

Odoo 在启动的时候会时间设置为 UTC 时间(为了保证一致性,存储成 UTC 时间是一种好的实践),也就是说在 Odoo 的内部所有时间都存储成 UTC 时间,页面上显示的时间是根据本地时区转换后的时间。


参考资料:

Is it always a good idea to store time in UTC or is this the case where storing in local time is better?


Odoo

Post navigation

NEXT
写优雅的代码:异常处理
PREVIOUS
读《未来简史》

发表回复 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

最近文章

  • 姥姥
  • 设计一个可扩展的用户模型
  • 使用 Apple 的 Keychain 保存 SSH 的 passphase
  • 解决 ABA 问题
  • 关于 macOS 上面部分 emoji 无法显示的问题
  • 这些年我技术栈的变化
  • 搬瓦工、狗云、hostodo、oracle对比测试
  • Google Drive 无法上传文件
  • 使用 socks5 代理 git ssh 协议
  • 到底要不要“润”
  • 可复用的代码
  • 关于疫情的一点点反思
  • 我的风控策略(投资篇)
  • 我的风控策略(生活篇)
  • Spring Boot是如何处理异常的
  • 编码与解码
  • 基于统计的图像目标检索
  • 有限状态机和状态模式
  • API安全设计
  • 用户密码的存储策略

近期评论

  • ǝɔɐǝԀʎzɐɹϽ发表在《可复用的代码》
  • Alex发表在《可复用的代码》
  • ǝɔɐǝԀʎzɐɹϽ发表在《到底要不要“润”》
  • ǝɔɐǝԀʎzɐɹϽ发表在《可复用的代码》
  • ǝɔɐǝԀʎzɐɹϽ发表在《我的风控策略(生活篇)》
  • ǝɔɐǝԀʎzɐɹϽ发表在《如何写出简洁优雅的代码》
  • 张志亮发表在《如何写出简洁优雅的代码》

分类

  • AI (2)
  • Java应用安全之道 (1)
    • 加密与解密 (1)
  • Odoo (2)
  • Python (1)
  • 图像处理 (1)
  • 年鉴 (1)
  • 数据库 (10)
  • 编程 (14)
    • Spring (1)
  • 读书笔记 (2)
  • 运维 (5)
  • 随笔 (10)

归档

  • 2023年1月 (2)
  • 2022年8月 (1)
  • 2022年7月 (4)
  • 2022年6月 (2)
  • 2022年5月 (2)
  • 2022年4月 (3)
  • 2021年10月 (1)
  • 2021年7月 (1)
  • 2021年5月 (1)
  • 2020年11月 (1)
  • 2020年7月 (1)
  • 2020年3月 (2)
  • 2020年2月 (1)
  • 2019年1月 (1)
  • 2018年12月 (2)
  • 2018年11月 (2)
  • 2017年4月 (1)
  • 2016年11月 (1)
  • 2016年9月 (1)
  • 2016年7月 (1)
  • 2016年5月 (3)
  • 2016年4月 (2)
  • 2016年3月 (1)
  • 2016年2月 (2)
  • 2015年12月 (1)
  • 2015年11月 (2)
  • 2015年8月 (1)
  • 2015年4月 (1)
  • 2015年3月 (1)

标签

Database devops Java MySQL PostgreSQL Python shell Spring SpringBoot Spring Security 安全 年鉴 总结 编程 随笔
© 2015-2023   Geektop.net All Rights Reserved.