从动物园管理员那里拿到锁并执行

lockex的Python项目详细描述


lockex是一种工具,它试图在执行用户提供的命令之前从zookeeper获取锁。


警告而不是阻塞,LoCeX可以在给定的
超时或立即退出。锁id根据用户提供的命令自动生成。我们还假设要运行的用户命令在前台执行。

如果连接挂起,它将继续运行。发生这种情况时,lockex将尽最大努力清除子进程。


许可证
----


请参阅复制

>用例:
----


*您有一个基于生产者/消费者的守护进程,一次只能运行一个
生产者。*lockex*允许您启动多个生产者,但如果获得了锁,则只有一个生产者可以运行。

*一个长时间运行的cronjob,并且您希望保证它仅在一台主机上运行,前提是所有作业都在一个小时间窗口内启动。



https://github.com/rapid7/lockex



用法:
----


running*lockex--help*将提供有关如何使用应用程序的信息。通常,

lockex选项——您的_命令您的_args

*lockex*会将“---”之后的任何内容视为要运行的命令。*lockex*还将查找ZKHOSTS环境变量
以连接到zookeeper群集,格式为逗号分隔的
“主机名:端口”列表。




示例:
--



运行的单个redis实例(假设数据
存储在共享位置)


在host1上运行相同的命令


host1的实例redis死亡时,host2将从zookeeper和启动redis获取锁
。在控制示例中,使用SIGTERM发送host1的lockex实例,它将杀死它的子进程。




要求:
----


*zookeeper和python2.7或更高版本的工作安装。
*zookeeper的持久实例(至少三个节点)。
*主机都与ntp.

自动售包:
————

*lockex/glog.py-https://github.com/benley/python-glog-版权所有(c)2015 Benjamin Staffin-根据2条BSD许可证。

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

推荐PyPI第三方库


热门话题
java Slick2D鼠标单击在Windows 10中不起作用   java在多线程中使用titan graph的最佳实践是什么?   java以编程方式访问清单。主类MF   安卓区分对JavaSpring后端的web和本机应用程序请求   java StringTemplate getInstanceOf返回null   java InvalidDataAccessApiUsageException:未找到线程绑定请求:   编码在Java中只对查询键和参数进行url编码的最佳方法是什么?   java如何使用mavenjarplugin从自定义jar文件中排除METAINF文件夹   Java:引发异常后程序未崩溃   安卓如何通过文件名找到/res/raw文件夹中文件的资源id?   html Selenium Java与HTML5的拖放   java是否可以在不同的对象中使用单个输入?   java谷歌应用引擎cron作业后端   java如何将列表项的信息传递给新的列表活动?   java是否可以要求junit在进行测试之前运行一个命令?   在异常中提供附加信息的java可持续方法?   java可编辑JComboBox:使用快捷方式启动操作时获取当前值   java运行时错误“名称错误:applicationarbre/Main”   继承java如何获取超类方法来修改子类字段