mecfs_bio.build_system.runner.simple_runner
Classes:
-
SimpleRunner–Simple wrapper class that orchestrates
Attributes:
-
logger–
SimpleRunner
Simple wrapper class that orchestrates an execution of the workflow build system with a topological scheduler and verifying trace rebuilder
info_store: path at which to store persistent cash for build-system internal information
asset_root: root under which to create the asset store, and the default root for any
subtree not claimed by path_remap
tracer: algorithm uses to calculate verifying traces of assets. An example would be a hashing algorithm. changing this forces all assets to be rebuilt
post_execute: hook invoked after each task materialization. Defaults to running gc.collect() and logging RSS,
which keeps cycle-held memory from accumulating across long pipeline runs. Pass noop_post_execute_hook
from mecfs_bio.build_system.rebuilder.sandboxed_execute to disable.
path_remap: rules sending selected store subtrees to other filesystems. Empty by
default, which keeps the whole store under asset_root. See the
remapping_meta_to_path module for what is worth remapping and what is not.
Methods:
-
run–Targets: the ultimate targets we aim to produce. All transitive dependencies of these targets will either be rebuilt, or fetched (determined according to that status of their trace)
Attributes:
-
asset_root(Path) – -
info_store(Path) – -
meta_to_path(MetaToPath) – -
path_remap(tuple[PathRemapRule, ...]) – -
post_execute(Callable[[Task], None]) – -
tracer(Tracer) –
post_execute
class-attribute
instance-attribute
run
run(
targets: list[Task],
must_rebuild_transitive: Sequence[Task] = tuple(),
incremental_save: bool = True,
settings: TopologicalSchedulerSettings = TopologicalSchedulerSettings(),
) -> Mapping[AssetId, Asset]
Targets: the ultimate targets we aim to produce. All transitive dependencies of these targets will either be rebuilt, or fetched (determined according to that status of their trace) must_rebuild_transitive: list of tasks that the rebuilder will be forced to rebuild, regardless of the status of their trace. - This is particularly useful when you have changed the code that generates and asset, and so want it and its dependees to be regenerated. returns: mapping from asset id to file system information for all assets that were built or retrieved as part of the execution of the scheduler
Raises RemapRootUnavailableError, before any work is scheduled, if a configured path_remap root is not present.