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,但是系统中运行的时候只能有一个进程),当然基于分布式锁也是一种选择,但是相比有点重,基于文件锁是一个很不错的选择
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用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