跳转到主要内容

ftw.catalogdoctor

项目描述

简介

该包 ftw.catalogdoctor 提供健康检查功能以查找 portal_catalog 中的不一致性,并可以通过手术移除其中的一些。它可以通过 zopectl.command 运行。

健康检查

列出在 portal_catalog 中检测到的不一致性。通过检查目录的内部数据结构来查找不一致性。它目前使用 paths(rid-path 映射)、uids(path-rid 映射)、UID 索引和目录元数据来确定目录是否健康或是否存在问题。健康检查是只读操作,不会修改目录。

可以按照以下方式运行

$ bin/instance doctor healthcheck

手术

尝试修复健康检查发现的问题。在手术前进行健康检查,然后尝试手术,最后进行手术后的健康检查。手术是写操作,但如果手术后的健康检查没有发现更多健康问题,则只有更改才会提交到数据库。目前可用的手术集仅限于我们在生产中观察到的问题。

可以按照以下方式运行

$ bin/instance doctor surgery

还有一个 –dry-run 参数可以防止提交更改。

$ bin/instance doctor --dry-run surgery

调试

如果您需要调试/分析 ftw.catalogdoctor 尚未修复的问题,请查看 debug 模块。它提供了用于 pprint 或检查目录状态的有用函数。

安装

  • 将包添加到您的 buildout 配置中

[instance]
eggs +=
    ...
    ftw.catalogdoctor

兼容性

Plone 4.3.x Plone 5.1.x

开发

  1. 分叉此存储库

  2. 克隆您的分叉

  3. Shell: ln -s development.cfg buildout.cfg

  4. Shell: python bootstrap.py

  5. Shell: bin/buildout

运行 bin/test 以测试您的更改。

或者通过运行 bin/instance fg 启动实例。

变更日志

1.2.0 (2020-10-06)

  • 在从索引中删除之前推迟重新索引,引入术后操作。[deiferni]

1.1.0 (2020-09-30)

  • 在修复 UID 索引时,从获取中删除重复对象。[deiferni]

  • 实现对孤儿 rids 仍可遍历的对象进行重新索引。[deiferni]

  • 在手术保护中检查较短路径而不是直接父路径。[deiferni]

  • 为新症状使用额外的 rid 删除手术。[deiferni]

1.0.0 (2019-07-08)

  • 初始实现。

项目详情


下载文件

下载适合您的平台文件。如果您不确定要选择哪个,请了解有关 安装软件包 的更多信息。

源分布

ftw.catalogdoctor-1.2.0.tar.gz (32.3 KB 查看散列

上传时间

支持者: