1234567891011121314151617181920212223242526272829303132333435 |
- """
- """
- import logging
- import threading
- class LockManager:
- """
- 全局锁管理,每个账号只能打开一个上下文相同的浏览器
- """
- def __init__(self):
- self.locks = {}
- def acquire_lock(self, key):
- if key not in self.locks:
- self.locks[key] = threading.Lock()
- acquire = self.locks[key].acquire(timeout=300)
- if acquire:
- logging.info(f"{key} 获取锁成功")
- def release_lock(self, key):
- if key in self.locks:
- self.locks[key].release()
- logging.info(f"{key} 释放锁成功")
- def is_locked(self, key):
- """
- 检查给定的键是否处于锁定状态
- """
- if key in self.locks:
- return self.locks[key].locked()
- else:
- return False
|