def __init__(self, session_key, force=False, timeout=1, check_maintenance=False): """ :param session_key: id of current command :param force: if True ignore lock and run in parallel, if any :param timeout: timeout for locking release :param check_maintenance: check Maintenance mode :return: """ self._key = "%s.lock" % session_key self.lock = FileLock(self._key) if check_maintenance: if api.is_pending() or api.is_offline(): raise MaintenanceModeError('Maintenance mode activated') if force: self.lock.break_lock() try: self.lock.acquire(timeout) except (AlreadyLocked, LockFailed, LockTimeout), e: raise CommandRunningError('Unable to lock', e)
def __init__( self, session_key, force=False, timeout=1, check_maintenance=False): self._key = "%s.lock" % session_key self.lock = FileLock(self._key) if check_maintenance: if api.is_pending() or api.is_offline(): raise MaintenanceModeError('Maintenance mode activated') if force: self.lock.break_lock() try: self.lock.acquire(timeout) except (AlreadyLocked, LockFailed, LockTimeout), e: raise CommandRunningError('Unable to lock', e)
def __init__(self, session_key, force=False, timeout=1, check_maintenance=False): self._key = "%s.lock" % session_key self.lock = FileLock(self._key) if check_maintenance: if api.is_pending() or api.is_offline(): raise MaintenanceModeError('Maintenance mode activated') if force: self.lock.break_lock() try: self.lock.acquire(timeout) except (AlreadyLocked, LockFailed, LockTimeout), e: raise CommandRunningError('Unable to lock', e)