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

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使用ApachePOI将excel文件导入postgreSQL表   java多线程从iText pdf提取文本   winapi Java和SetWindowDisplayAffinity   eclipse juno的java Websphere 6.1插件   java MPAndroidChart:为Y轴提供一些偏移   java中作为参数传递枚举类型的继承   java Gui jframe的工作原理与netbeans不同   使用Bouncy Castle和PDFBox在Java中验证PDF签名   优化缩小Java代码   java无法在安卓中从Firebase取回子数据   返回的java方法?我应该什么时候用?   java错误处理已完成,退出代码为1。与穿过阵列的for循环有关   多线程Java volatile是否阻止缓存或强制执行写缓存?   java Multi-collectItems如何提前终止并返回已收集的项目   java为什么不在服务(请求,响应)中直接调用processRequest(请求,响应)?   java如何从字符串生成int数组?   打印获取用户输入的值并在其他预选文本中显示。JAVA   未显示java DynamicAsper UTF8字符   java Eclipse RCP:不启动应用程序的命令行参数