提供确定性的会话垃圾回收代替默认的随机回收
项目描述
每次处理Odoo的新请求时,都会评估此语句: random.random() < 0.001 [1]
平均每1000次中有1次会返回True并触发会话的垃圾回收:超过1周未活跃的会话将被删除 [2]
这种随机方法在某些情况下可能成为问题。
在一个高访问量的Odoo网站上,将创建许多会话。遍历它们需要一些时间,尤其是在速度较慢/负载较重的文件系统上。垃圾回收随机发生,您的用户会向您报告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。
项目详情
odoo12_addon_base_deterministic_session_gc-12.0.1.0.1-py3-none-any.whl 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | a4147f8880ea1ce82a8cac67fe4592de3a15bfadf25a98bb1f425c70c6051050 |
|
MD5 | 77acb6431aa7745d7bcb13a804c886f1 |
|
BLAKE2b-256 | cc87f2b8e6c544f8706a7880c6d615218e5b3c52b353cd1119e250485a2aa6eb |