我有一个Python脚本,每5分钟通过cron执行一次。
此脚本在目录上运行。
有时要花费5分钟以上的时间,我想避免两个作业并行运行。
我尝试使用库flockcontext,但这只能锁定文件。
我收到此异常:
with flockcontext.FlockOpen(directory, 'r'):
File "/.../flockcontext/flock_open.py", line 54, in __enter__
self.fd = open(self._filepath, self._mode)
IOError: [Errno 21] Is a directory: 'my-dir'
如何使用上下文管理器锁定目录?
我知道我可以通过锁定文件(也许是var / lock / foo)来解决此问题,但我想有一个解决方案(不是解决方法)。
PS:我知道此锁定仅阻止其他进程在启动之前检查此锁定的其他程序在此目录上运行。