使用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何时可以运行。toString()是否有可能返回重复的字符串?   使用REST进行Java应用程序登录验证?   java测试onErrorResume()Spring Webflux   java设置一个单元格样式,使数字显示为百分比ApachePOI   java仅替换regex az09   java将字符串附加到文件   java Hibernate:如何在集合中查找对象   当独立客户端为Web服务实例化代理时,java WebSphere会生成ClassNotFoundException   java简单算法。我做不好   java我的代码有什么问题?我想用Android制作一个“cardflip”动画   java如何模拟Springbean及其自动连接的参数?   java在Android中将arraylist对象的某些参数显示到列表视图中   java setOnclickListener(此)错误   java自动连接未按类型连接bean   java如何禁止在Viewpager上滑动?   java代码检查每个if语句吗?   java NIO选择器OP_READ和OP_WRITE,关于处理它们的一些问题   java如何在不锁定文件的情况下获取文件大小   Oculus Rift的Java API?   java是一种选择。仍然需要fork来设置bootClasspath