httk.workflow.backends¶
Runner-backend contracts used by the workflow manager.
Classes¶
Paths and context needed to construct an attempt command. |
|
A published outcome being committed by the authoritative manager. |
|
Execution behavior selected by |
|
The normal backend which directly executes |
Module Contents¶
- class httk.workflow.backends.AttemptLaunch[source]¶
Paths and context needed to construct an attempt command.
runneris the executable the manager resolved for this attempt. A payload runner is the file insidepayload; a shared runner is the verified copy the manager staged belowcontrol, never the original.- payload: pathlib.Path[source]¶
- workdir: pathlib.Path[source]¶
- control: pathlib.Path[source]¶
- context_path: pathlib.Path[source]¶
- context: collections.abc.Mapping[str, Any][source]¶
- runner: pathlib.Path | None = None[source]¶
- property runner_command: pathlib.Path[source]¶
Return the executable to run, defaulting to the payload runner.
- class httk.workflow.backends.OutcomeCommit[source]¶
A published outcome being committed by the authoritative manager.
- payload: pathlib.Path[source]¶
- outcome_path: pathlib.Path[source]¶
- outcome: collections.abc.Mapping[str, Any][source]¶
- class httk.workflow.backends.RunnerBackend[source]¶
Bases:
ProtocolExecution behavior selected by
runner.backendinjob.json.- validate(job: httk.workflow.models.JobDefinition, payload: pathlib.Path) None[source]¶
Validate backend-specific immutable payload requirements.
- abstractmethod command(launch: AttemptLaunch) collections.abc.Sequence[str][source]¶
Return the command argument vector for one attempt.
- commit_outcome(commit: OutcomeCommit) None[source]¶
Complete backend-specific idempotent work before the marker advances.
- class httk.workflow.backends.PathRunnerBackend[source]¶
The normal backend which directly executes
runner.path.- validate(job: httk.workflow.models.JobDefinition, payload: pathlib.Path) None[source]¶
- command(launch: AttemptLaunch) collections.abc.Sequence[str][source]¶
- commit_outcome(commit: OutcomeCommit) None[source]¶