提供确定性会话垃圾回收,而不是默认的随机回收
项目描述
每当Odoo处理一个新的请求时,都会评估以下语句: random.random() < 0.001 [1]
平均每1000次中,它会返回 True 并触发会话的垃圾回收:超过1周未活跃的会话将被删除 [2]
这种随机方法在某些情况下可能成为问题。
在访问量很大的Odoo网站上,将会创建许多会话。遍历它们将需要一些时间,尤其是在慢速/负载的FS上。垃圾回收随机发生,用户会向您报告Odoo在随机操作上随机变慢的情况。他们无法重现这些情况,您也无法在Odoo日志中追踪它们,因为调用响应时间不包括Odoo在垃圾回收上花费的时间。
此外,在负载很重的服务器上,最好能够控制垃圾回收发生的时间。例如,有人可能只想每天晚上运行一次。
这就是我们创建此模块的原因
以禁用默认的随机垃圾回收
允许管理员用确定性方法替换它
可以通过使用包含的计划任务;
或者通过远程调用添加的公共方法 ir.autovacuum:gc_sessions()
目录
安装
您需要在服务器范围内加载此模块
通过以 --load=web,base_deterministic_session_gc 启动 Odoo
或者更新其配置文件
[options]
(...)
server_wide_modules = web,base_deterministic_session_gc
如果您想使用提供的确定性方法,则需要将其安装到数据库中。
配置
您可以在 Odoo 配置文件中更改会话过期延迟
[options]
(...)
; 1 day = 60*60*24 seconds
session_expiry_delay = 86400
默认值为 7 天。
错误跟踪器
错误在 GitHub Issues 上跟踪。如果遇到问题,请检查是否已经报告了您的问题。如果您是第一个发现它的,请提供详细的、受欢迎的 反馈 以帮助我们解决它。
请不要直接联系贡献者寻求支持或技术问题的帮助。
鸣谢
贡献者
Nils Hamerlinck <nils@trobz.com>
维护者
此模块由 OCA 维护。
OCA,或 Odoo 社区协会,是一个非营利组织,其使命是支持 Odoo 功能的协作开发并推广其广泛使用。
此模块是 GitHub 上的 OCA/server-tools 项目的组成部分。
欢迎您贡献力量。有关如何贡献的信息,请访问 https://odoo-community.org/page/Contribute。
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。
源代码发行版
构建发行版
odoo14_addon_base_deterministic_session_gc-14.0.1.0.1.dev4-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 833fb6859087a2401cb94dc67ada10cc2089de6fc36437ddaf2060f4ea477661 |
|
MD5 | 34010de5f54e22380e52cd1bf48089b6 |
|
BLAKE2b-256 | 18182320558b5032aaa948dc7d82ddeb178f7a458a99de0c90152e59a4bb4bf5 |