发电机动态数据管理系统一致性插件

dynamo-consistenc的Python项目详细描述


build-status

发电机一致性是发电机动态数据管理系统的一致性插件。 即使dynamo控制并跟踪计算站点之间的文件传输历史, 需要单独检查以确保在用户或系统错误期间不会丢失或累积文件。 例如,停电后无法再访问文件的站点, 可能导致整个数据管理系统出现其他问题。 由于缺少文件,从站点请求到另一站点的传输将失败。 对于假定存在本地文件的生产作业,站点选择不正确。 最后一个磁盘副本也可能丢失,从而导致用户请求数据的延迟。 当被认为要删除的文件仍在磁盘上时,会导致另一种类型的不一致。 这会导致未被访问的文件浪费磁盘空间,除非是偶然的。 dynamo一致性通过定期列出每个远程站点和 将列出的内容与dynamo的库存数据库进行比较。

该软件包还包括许多可以独立导入的模块 创建自定义一致性检查运行。 可以通过执行以下操作对站点进行简单的一致性检查 安装dynamo实例时:

from dynamo_consistency import config, datatypes, remotelister, inventorylister

config.LOCATION = '/path/to/config.json'
site = 'T2_US_MIT'                        # For example

inventory_listing = inventorylister.listing(site)
remote_listing = remotelister.listing(site)

datatypes.compare(inventory_listing, remote_listing, 'results')

在这个例子中, 清单中而不是站点中的文件lfn列表将位于results_missing.txt。 站点上而不在清单中的文件lfn列表将位于results_orphan.txt。 可以重新实现listing函数以执行所需的检查。

安装

dynamo一致性要求XRootDpython模块单独安装。 此外,它还使用dynamo动态数据管理包来获取库存清单 并报告一致性检查的结果。 在安装期间,以发电机一致性安装任何其他所需的软件包。

最简单的安装方法是通过pip:

pip install dynamo-consistency

源代码在GitHub上维护。 存储库的setup.py支持其他典型的setuptools方法。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JPanel不会对键绑定做出反应   当时间大于零时,不得在UI线程上调用java Await   JTextArea的java线程安全。追加   Java用户输入的字和行计数器   java以spreedsheat格式将数据保存到文件中   java构造函数的意义是什么?   java findViewById返回null,尽管组件的ID存在   java如何向按钮添加图像   java如何中断ExecutorService的线程   java如何将属性(例如枚举)绑定到不同类型的组件属性(例如每个枚举的映像)?   随机森林分类器的java实现   html使用java连接到一个站点并发布,HTTP状态代码200   从类访问属性时发生java编译错误   Java自动填充ArrayList,搜索更好的选项