docs/v3/api-ref/python/prefect-locking-filesystem.mdx
prefect.locking.filesystemFileSystemLockManager <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/locking/filesystem.py#L35" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>A lock manager that implements locking using local files.
Attributes:
lock_files_directory: the directory where lock files are storedMethods:
aacquire_lock <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/locking/filesystem.py#L146" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>aacquire_lock(self, key: str, holder: str, acquire_timeout: Optional[float] = None, hold_timeout: Optional[float] = None) -> bool
aacquire_lock <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/locking/protocol.py#L33" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>aacquire_lock(self, key: str, holder: str, acquire_timeout: Optional[float] = None, hold_timeout: Optional[float] = None) -> bool
Acquire a lock for a transaction record with the given key. Will block other actors from updating this transaction record until the lock is released.
Args:
key: Unique identifier for the transaction record.holder: Unique identifier for the holder of the lock.acquire_timeout: Max number of seconds to wait for the record to become
available if it is locked while attempting to acquire a lock. Pass 0
to attempt to acquire a lock without waiting. Blocks indefinitely by
default.hold_timeout: Max number of seconds to hold the lock for. Holds the lock
indefinitely by default.Returns:
acquire_lock <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/locking/filesystem.py#L97" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>acquire_lock(self, key: str, holder: str, acquire_timeout: Optional[float] = None, hold_timeout: Optional[float] = None) -> bool
acquire_lock <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/locking/protocol.py#L6" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>acquire_lock(self, key: str, holder: str, acquire_timeout: Optional[float] = None, hold_timeout: Optional[float] = None) -> bool
Acquire a lock for a transaction record with the given key. Will block other actors from updating this transaction record until the lock is released.
Args:
key: Unique identifier for the transaction record.holder: Unique identifier for the holder of the lock.acquire_timeout: Max number of seconds to wait for the record to become
available if it is locked while attempting to acquire a lock. Pass 0
to attempt to acquire a lock without waiting. Blocks indefinitely by
default.hold_timeout: Max number of seconds to hold the lock for. Holds the lock
indefinitely by default.Returns:
await_for_lock <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/locking/filesystem.py#L239" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>await_for_lock(self, key: str, timeout: Optional[float] = None) -> bool
await_for_lock <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/locking/protocol.py#L110" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>await_for_lock(self, key: str, timeout: Optional[float] = None) -> bool
Wait for the corresponding transaction record to become free.
Args:
key: Unique identifier for the transaction record.timeout: Maximum time to wait. None means to wait indefinitely.Returns:
is_lock_holder <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/locking/filesystem.py#L220" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>is_lock_holder(self, key: str, holder: str) -> bool
is_lock_holder <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/locking/protocol.py#L83" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>is_lock_holder(self, key: str, holder: str) -> bool
Check if the current holder is the lock holder for the transaction record.
Args:
key: Unique identifier for the transaction record.holder: Unique identifier for the holder of the lock.Returns:
is_locked <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/locking/filesystem.py#L205" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>is_locked(self, key: str, use_cache: bool = False) -> bool
is_locked <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/locking/protocol.py#L71" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>is_locked(self, key: str) -> bool
Simple check to see if the corresponding record is currently locked.
Args:
key: Unique identifier for the transaction record.Returns:
release_lock <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/locking/filesystem.py#L195" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>release_lock(self, key: str, holder: str) -> None
release_lock <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/locking/protocol.py#L60" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>release_lock(self, key: str, holder: str) -> None
Releases the lock on the corresponding transaction record.
Args:
key: Unique identifier for the transaction record.holder: Unique identifier for the holder of the lock. Must match the
holder provided when acquiring the lock.wait_for_lock <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/locking/filesystem.py#L230" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>wait_for_lock(self, key: str, timeout: Optional[float] = None) -> bool
wait_for_lock <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/locking/protocol.py#L96" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>wait_for_lock(self, key: str, timeout: Optional[float] = None) -> bool
Wait for the corresponding transaction record to become free.
Args:
key: Unique identifier for the transaction record.timeout: Maximum time to wait. None means to wait indefinitely.Returns: