Skip to content

angee.work.merge

Settings-backed contributors to the work task-merge transaction.

MERGE_CONTRIBUTORS_SETTING

Autoconfig-append registry of dotted task-merge contributor callables.

task_merge_contributor_paths

python
def task_merge_contributor_paths() -> tuple[str, ...]

Return unique configured contributor paths in deterministic order.

run_task_merge_contributors

python
def run_task_merge_contributors(source: Any, canonical: Any) -> None

Invoke every registered contributor inside the caller's transaction.

Each callable receives (source, canonical) locked Task instances. It must move only the rows it owns, be idempotent for that exact pair, and let every exception propagate. The work owner invokes this only after its base relation/stage/link/follower postconditions and before the surrounding atomic block commits, so one contributor failure rolls the entire merge back.

check_task_merge_contributors

python
@checks.register(checks.Tags.models)
def check_task_merge_contributors(
        app_configs: list[object] | None = None,
        **kwargs: object) -> list[checks.CheckMessage]

Fail Django checks for malformed task-merge contributor entries.

Released under the AGPL-3.0 License.