예제 #1
0
파일: lock2.py 프로젝트: tomsovic/Learn
def worker_lock_manager(key, ttl, **kwargs):
    """
    分布式锁
    :param key: 分布式锁ID
    :param ttl: 分布式锁生存时间
    :param kwargs: 可选参数字典
    :return: None
    """
    redis_servers = [{
        # 'host': '127.0.0.1',
        'host': '192.168.1.24',
        'port': 6379,
        'db': 0,
        'password': ''
    }]

    rlk = RedLock(redis_servers)

    # 获取锁
    lock = rlk.lock(key, ttl)

    yield lock

    # 释放锁
    rlk.unlock(lock)