py-filelock python 平台无关的文件锁

py-filelock 是一个平台无关的文件锁实现,可以用来实现一些基于文件锁的业务控制

参考使用

  • lock.py
import os
from filelock import Timeout, FileLock

file_path = "high_ground.txt"
lock_path = "high_ground.txt.lock"

lock = FileLock(lock_path, timeout=1)

with lock:
    if not os.path.exists(file_path):
        with open(file_path, "w") as f:
            f.write("Hello there!")

lock.acquire()
try:
    if not os.path.exists(file_path):
        with open(file_path, "w") as f:
            f.write("General Kenobi!")
finally:
    lock.release()

说明

py-filelock 还提供了其他模式的lock,使用好lock 可以解决一些因为并发或者多进程运行的问题(比如我们一些业务场景可能需要多worker,但是系统中运行的时候只能有一个进程),当然基于分布式锁也是一种选择,但是相比有点重,基于文件锁是一个很不错的选择

参考资料

https://py-filelock.readthedocs.io/en/latest/index.html#

https://github.com/tox-dev/filelock

posted on   荣锋亮  阅读(35)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2023-11-12 meson 开源构建工具试用
2022-11-12 github codespaces 简单说明
2021-11-12 使用arthas 分析一个系统登录慢的问题
2019-11-12 PostgreSQL 11 Partitioning Improvements
2019-11-12 从rpm包提取rpm spec 的几种方法
2019-11-12 plv8 rpm包创建
2018-11-12 使用lua graphql 模块让openresty 支持graphql api

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示