使用mysql来实现一个简单的密钥存储,跟踪哪些密钥被“完成”。

dones的Python项目详细描述


##简介

dones模块可用于标记键是否“完成”并检查 一把钥匙被标记为“完成”。钥匙也可以不加标记,因此它们不是 更长的“完成”。此外,所有的钥匙都可以通过清理驴子来取消标记。 密钥保存在它们自己的命名空间中,以避免与其他 设置其他密钥并使其易于实现清除。

为什么?我用甜甜圈来记录我已经做过的事情。更多 具体来说,我在一个大型集群上运行大型计算(几百万个任务) (几千个核心)有一个慢文件系统(isilon)。当任务不可避免时 失败,可能是因为网络存储脱机,或者计算机死机,或者 另一个用户用连接压倒了数据库,我需要重新提交 群集的批处理队列系统(LSF)中尚未完成的任务 完成。

此模块中的解决方案符合我的限制条件。它处理并发的 写下一千份工作标记着已经完成的事情(不是一次完成的)。它是 读写速度相当快,可提供上百万个工作岗位。这是 很重要,因为或批处理队列(LSF)在 时光优雅。最后,dones使用mysql作为后端,这一点很重要 因为我不能在我使用的集群上运行像redis这样的密钥值服务器。

##贡献

可以在github上提出请求。

##测试

令人尴尬的是,dones配置为来自 环境,所以要测试它,需要添加一个url。例如:

DONES_DB_URL=mysql://myuser:password@localhost/mydb nosetests

##要求

  • 可能是Python2.7(因为这是它唯一测试过的版本)。
  • mysql python pypi包。

##安装

###从pypi.python.org安装

使用pip下载并安装:

pip install dones

###从github.com安装

使用github,可以克隆并安装特定版本的软件包:

cd ~ git clone git@github.com:todddeluca/dones.git cd dones python setup.py install

或者使用pip:

pip install git+git://github.com/todddeluca/dones.git#egg=dones

##用法

import dones

if not dones.get(‘my_pipeline’).done(‘task1’):
dotask(‘task1’) dones.get(‘my_pipleline’).mark(‘task1’)

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

推荐PyPI第三方库


热门话题
java将日志重定向到Log4j2   在Java中,符号ANDEQUALS运算符用于什么?   java在NetBeans中与本地Maven项目一起使用“转到源代码”   java Hibernate/JPA双向级联存储更新   java动画是无法实例化的抽象   如何使用Java在SQL Server中持久化大型JSON字符串   java如何从面板中删除多个标签?   java使PDF文件上的问号可读   java多依赖微调器   java Web服务在解析时生成XML意外令牌错误   javatomcat和Ajax问题   java如何将公共类放入交换机外壳中   javascript如何使用JSON在JSP和Java控制器之间进行交互?