从动物园管理员那里拿到锁并执行
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许可证。
警告而不是阻塞,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许可证。