from common.utils.lock import DistributedLock class UserGrantedTreeRebuildLock(DistributedLock): name_template = 'perms.user.asset.node.tree.rebuid.<user_id:{user_id}>' def __init__(self, user_id): name = self.name_template.format( user_id=user_id ) super().__init__(name=name, release_on_transaction_commit=True)