jobflow_remote.config.helper module#
- class jobflow_remote.config.helper.ConflictIssue(kind: str, message: str, projects: list[str] = <factory>)[source]#
Bases:
objectA single configuration conflict detected across projects.
- kind#
Short identifier for the type of conflict (e.g.
jobs_handle_dir,queue_collection,directory). Useful for grouping when rendering.- Type:
- jobflow_remote.config.helper.check_projects_conflicts(projects: dict[str, Project]) list[ConflictIssue][source]#
Detect configuration conflicts between different projects.
The rules checked are:
batch.jobs_handle_dirof batch workers must be unique across all batch workers that share a host. Hosts are compared via the__eq__of theBaseHostreturned byworker.get_host().Queue collections (
queue.storecollection plusflows_collection,auxiliary_collectionandbatches_collection) must not be shared across projects. Equality is determined by the maggmaStore__eq__.Project directories (
base_dir,tmp_dir,log_dir,daemon_dir) must not be shared between projects.
- Parameters:
projects – Mapping of project name to
Projectinstance, typically taken fromConfigManager.projects.- Returns:
One entry per detected conflict. Empty when no conflicts are found.
- Return type:
- jobflow_remote.config.helper.check_worker(worker: WorkerBase, full_check: bool = False) tuple[str | None, str | None][source]#
Check that a connection to the configured worker can be made.
- jobflow_remote.config.helper.generate_dummy_exec_config() ExecutionConfig[source]#
- jobflow_remote.config.helper.generate_dummy_worker(scheduler_type: str = 'slurm', host_type: str = 'remote') WorkerBase[source]#