orxtra v0.13.0 /scheduler.src.orxtra.scheduler._locks
On this page

FileLockRegistry claims and releases write-path sets per workflow, detecting path overlap (prefix containment) so concurrent workflows can't write to conflicting file trees.

#scheduler.src.orxtra.scheduler._locks

#scheduler.src.orxtra.scheduler._locks

#_paths_overlap

python
def _paths_overlap(a: str, b: str) -> bool

Check if two paths overlap (exact match or prefix containment).

Two paths overlap when either is a prefix of the other. A task writing to /src/a/ conflicts with a task writing to /src/a/b/ because the first task's scope includes the second's files.

#FileLockRegistry

#claim

python
def claim(self, workflow_id: UUID, paths: list[str]) -> None

#release

python
def release(self, workflow_id: UUID) -> None

#check_conflict

python
def check_conflict(self, paths: list[str]) -> UUID | None
Search