锁装饰工

lockorator的Python项目详细描述


这个包提供了decorators,它们将在 调用修饰函数。

安装

pip install lockorator

用法

这个包提供了两种风格的锁装饰器:redis和 异步。两种口味都有相同的原料药。

lockorator.asyncio还提供异步锁修饰符 与trio兼容。

lockorator.redis提供redis锁修饰符。

要使用redis锁,请在您的环境中设置LOCKORATOR_REDIS_URL

export LOCKORATOR_REDIS_URL="redis://localhost:6379"

api

LoCyOrthExeX

装饰工。在装饰函数启动之前,尝试使用 指定的标识符。如果成功获取锁,则继续 执行函数。否则,请立即返回。那id 参数可以包含模板字符串,其中将使用参数呈现 以及传递给函数的Kwargs。

示例:

fromlockorator.asyncioimportlock_or_exit@lock_or_exit('lock_work_{}')defworkwork(x):passworkwork(3)# Will try to acquire lock 'lock_work_3'

锁定等待

装饰工。在装饰函数启动之前,尝试使用 指定的标识符,如果需要,等待waittime秒。如果 已成功获取锁,请继续执行该函数。 否则,提高lockorator.TimeoutErrorid参数可以 包含模板字符串,wich将用args和kwargs呈现, 传递给函数。

示例:

fromlockorator.redisimportlock_wait@lock_wait('lock_work_{}',waittime=4)defworkwork(x):passworkwork(3)# Will try to acquire lock 'lock_work_3' for 4 seconds

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

推荐PyPI第三方库


热门话题
java中的swing组合框问题   java第二个for循环的输出   带有if-then语句的java jdbc结果集   java如何为JFrame上的所有JPanel设置可见   如何使用ApachePOI和Java代码检查Excel文件中是否存在信息   JAVA网尝试在azure中创建新bucket时发生UnknownHostException   序列化Java:不可序列化异常   java通过AS400验证连接   java安卓:在类w/o视图中调用onCreate   java在同一个键中获取Json对象和Json数组   使用Java的实时视频流?   java JSONObject在Firebase中返回null   java JPanel类,空布局,不显示组件   java在以编程方式创建架构时遇到未知数据库异常?