simstack 2.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- simstack/__init__.py +0 -0
- simstack/_version.py +24 -0
- simstack/core/__init__.py +0 -0
- simstack/core/artifacts.py +406 -0
- simstack/core/asnyc_helper.py +14 -0
- simstack/core/config_file.py +60 -0
- simstack/core/context.py +283 -0
- simstack/core/definitions.py +22 -0
- simstack/core/engine.py +115 -0
- simstack/core/find_simstack_modules.py +41 -0
- simstack/core/hash.py +179 -0
- simstack/core/node.py +1137 -0
- simstack/core/node_claim.py +31 -0
- simstack/core/node_runner.py +362 -0
- simstack/core/process_results.py +102 -0
- simstack/core/recompute_artifacts.py +117 -0
- simstack/core/reset_db.py +12 -0
- simstack/core/resource_assignment.py +222 -0
- simstack/core/resources.py +90 -0
- simstack/core/route_table.py +24 -0
- simstack/core/run_docker.py +109 -0
- simstack/core/run_node.py +71 -0
- simstack/core/runner.py +169 -0
- simstack/core/services/__init__.py +11 -0
- simstack/core/services/base_service.py +191 -0
- simstack/core/services/file_transfer_service.py +117 -0
- simstack/core/services/git_restart_service.py +12 -0
- simstack/core/services/git_uv_update_service.py +105 -0
- simstack/core/services/node_execution_service.py +182 -0
- simstack/core/services/resource_branch_monitor_service.py +71 -0
- simstack/core/services/runner_cleanup_service.py +149 -0
- simstack/core/services/runner_manager.py +163 -0
- simstack/core/services/runner_status_service.py +10 -0
- simstack/core/services/slurm_status_service.py +67 -0
- simstack/core/services/stop_check_service.py +27 -0
- simstack/core/services/timeout_restart_service.py +26 -0
- simstack/core/simstack_result.py +39 -0
- simstack/core/submit_node.py +217 -0
- simstack/core/task_id.py +22 -0
- simstack/methods/__init__.py +0 -0
- simstack/methods/archive_files.py +292 -0
- simstack/methods/fire_and_forget_runner.py +113 -0
- simstack/methods/generate_test.py +125 -0
- simstack/methods/get_file.py +26 -0
- simstack/methods/mass_runner.py +154 -0
- simstack/methods/multiple_executor.py +307 -0
- simstack/methods/switch_git.py +16 -0
- simstack/methods/upload_helpers.py +81 -0
- simstack/models/__init__.py +74 -0
- simstack/models/array_list.py +21 -0
- simstack/models/array_storage.py +83 -0
- simstack/models/artifact_models.py +127 -0
- simstack/models/base_lists.py +51 -0
- simstack/models/base_types.py +209 -0
- simstack/models/charts_artifact.py +690 -0
- simstack/models/dataset.py +451 -0
- simstack/models/dataset_metadata.py +390 -0
- simstack/models/datasettuple.py +587 -0
- simstack/models/file_instance.py +150 -0
- simstack/models/file_list.py +45 -0
- simstack/models/files.py +424 -0
- simstack/models/fire_and_forget_result.py +19 -0
- simstack/models/images2d.py +113 -0
- simstack/models/log_entry_model.py +37 -0
- simstack/models/models.py +52 -0
- simstack/models/named_data_reference.py +36 -0
- simstack/models/node_registry.py +96 -0
- simstack/models/pandas_model.py +239 -0
- simstack/models/parameters.py +402 -0
- simstack/models/pickle_models.py +300 -0
- simstack/models/project.py +13 -0
- simstack/models/resource_assignment.py +170 -0
- simstack/models/resource_definition.py +125 -0
- simstack/models/runner_model.py +39 -0
- simstack/models/simple_table.py +79 -0
- simstack/models/simstack_model.py +97 -0
- simstack/models/slurm_info.py +17 -0
- simstack/models/table_artifact.py +87 -0
- simstack/models/tag.py +12 -0
- simstack/models/unused_test_file.py +5 -0
- simstack/simstack_marker.com +1 -0
- simstack/static/docs/.buildinfo +4 -0
- simstack/static/docs/_images/GUI Concept.webp +0 -0
- simstack/static/docs/_modules/index.html +434 -0
- simstack/static/docs/_modules/simstack/core/artifacts.html +743 -0
- simstack/static/docs/_modules/simstack/core/asnyc_helper.html +330 -0
- simstack/static/docs/_modules/simstack/core/config_file.html +379 -0
- simstack/static/docs/_modules/simstack/core/definitions.html +341 -0
- simstack/static/docs/_modules/simstack/core/engine.html +437 -0
- simstack/static/docs/_modules/simstack/core/find_simstack_modules.html +360 -0
- simstack/static/docs/_modules/simstack/core/hash.html +528 -0
- simstack/static/docs/_modules/simstack/core/node.html +1392 -0
- simstack/static/docs/_modules/simstack/core/node_claim.html +347 -0
- simstack/static/docs/_modules/simstack/core/node_runner.html +711 -0
- simstack/static/docs/_modules/simstack/core/process_results.html +418 -0
- simstack/static/docs/_modules/simstack/core/recompute_artifacts.html +433 -0
- simstack/static/docs/_modules/simstack/core/reset_db.html +328 -0
- simstack/static/docs/_modules/simstack/core/resource_assignment.html +553 -0
- simstack/static/docs/_modules/simstack/core/resources.html +424 -0
- simstack/static/docs/_modules/simstack/core/route_table.html +349 -0
- simstack/static/docs/_modules/simstack/core/run_docker.html +425 -0
- simstack/static/docs/_modules/simstack/core/run_node.html +390 -0
- simstack/static/docs/_modules/simstack/core/runner.html +491 -0
- simstack/static/docs/_modules/simstack/core/services/base_service.html +522 -0
- simstack/static/docs/_modules/simstack/core/services/file_transfer_service.html +436 -0
- simstack/static/docs/_modules/simstack/core/services/git_restart_service.html +331 -0
- simstack/static/docs/_modules/simstack/core/services/git_uv_update_service.html +427 -0
- simstack/static/docs/_modules/simstack/core/services/node_execution_service.html +507 -0
- simstack/static/docs/_modules/simstack/core/services/resource_branch_monitor_service.html +390 -0
- simstack/static/docs/_modules/simstack/core/services/runner_cleanup_service.html +468 -0
- simstack/static/docs/_modules/simstack/core/services/runner_manager.html +485 -0
- simstack/static/docs/_modules/simstack/core/services/runner_status_service.html +329 -0
- simstack/static/docs/_modules/simstack/core/services/slurm_status_service.html +386 -0
- simstack/static/docs/_modules/simstack/core/services/stop_check_service.html +346 -0
- simstack/static/docs/_modules/simstack/core/services/timeout_restart_service.html +345 -0
- simstack/static/docs/_modules/simstack/core/simstack_result.html +355 -0
- simstack/static/docs/_modules/simstack/core/submit_node.html +536 -0
- simstack/static/docs/_modules/simstack/core/task_id.html +344 -0
- simstack/static/docs/_modules/simstack/methods/archive_files.html +598 -0
- simstack/static/docs/_modules/simstack/methods/fire_and_forget_runner.html +432 -0
- simstack/static/docs/_modules/simstack/methods/generate_test.html +443 -0
- simstack/static/docs/_modules/simstack/methods/get_file.html +342 -0
- simstack/static/docs/_modules/simstack/methods/mass_runner.html +476 -0
- simstack/static/docs/_modules/simstack/methods/multiple_executor.html +674 -0
- simstack/static/docs/_modules/simstack/methods/switch_git.html +332 -0
- simstack/static/docs/_modules/simstack/methods/upload_helpers.html +403 -0
- simstack/static/docs/_modules/simstack/models/array_list.html +337 -0
- simstack/static/docs/_modules/simstack/models/array_storage.html +417 -0
- simstack/static/docs/_modules/simstack/models/base_lists.html +374 -0
- simstack/static/docs/_modules/simstack/models/base_types.html +588 -0
- simstack/static/docs/_modules/simstack/models/charts_artifact.html +1035 -0
- simstack/static/docs/_modules/simstack/models/dataset.html +866 -0
- simstack/static/docs/_modules/simstack/models/dataset_metadata.html +711 -0
- simstack/static/docs/_modules/simstack/models/datasettuple.html +1005 -0
- simstack/static/docs/_modules/simstack/models/file_instance.html +472 -0
- simstack/static/docs/_modules/simstack/models/file_list.html +367 -0
- simstack/static/docs/_modules/simstack/models/files.html +773 -0
- simstack/static/docs/_modules/simstack/models/fire_and_forget_result.html +335 -0
- simstack/static/docs/_modules/simstack/models/images2d.html +447 -0
- simstack/static/docs/_modules/simstack/models/log_entry_model.html +356 -0
- simstack/static/docs/_modules/simstack/models/models.html +374 -0
- simstack/static/docs/_modules/simstack/models/named_data_reference.html +355 -0
- simstack/static/docs/_modules/simstack/models/node_registry.html +415 -0
- simstack/static/docs/_modules/simstack/models/pandas_model.html +570 -0
- simstack/static/docs/_modules/simstack/models/parameters.html +739 -0
- simstack/static/docs/_modules/simstack/models/pickle_models.html +631 -0
- simstack/static/docs/_modules/simstack/models/project.html +329 -0
- simstack/static/docs/_modules/simstack/models/resource_assignment.html +501 -0
- simstack/static/docs/_modules/simstack/models/resource_definition.html +477 -0
- simstack/static/docs/_modules/simstack/models/runner_model.html +361 -0
- simstack/static/docs/_modules/simstack/models/simple_table.html +413 -0
- simstack/static/docs/_modules/simstack/models/simstack_model.html +416 -0
- simstack/static/docs/_modules/simstack/models/slurm_info.html +333 -0
- simstack/static/docs/_modules/simstack/models/table_artifact.html +406 -0
- simstack/static/docs/_modules/simstack/models/tag.html +328 -0
- simstack/static/docs/_modules/simstack/tables/model_table.html +519 -0
- simstack/static/docs/_modules/simstack/tables/node_children.html +538 -0
- simstack/static/docs/_modules/simstack/tables/node_table.html +854 -0
- simstack/static/docs/_modules/simstack/tables/table_builder.html +642 -0
- simstack/static/docs/_modules/simstack/util/async_zip_utils.html +337 -0
- simstack/static/docs/_modules/simstack/util/b64mixin.html +339 -0
- simstack/static/docs/_modules/simstack/util/cleaned_json_schema.html +336 -0
- simstack/static/docs/_modules/simstack/util/config_reader.html +498 -0
- simstack/static/docs/_modules/simstack/util/custom_model_dump.html +391 -0
- simstack/static/docs/_modules/simstack/util/database_information.html +488 -0
- simstack/static/docs/_modules/simstack/util/db.html +1392 -0
- simstack/static/docs/_modules/simstack/util/db_logger.html +448 -0
- simstack/static/docs/_modules/simstack/util/default_from_dict.html +376 -0
- simstack/static/docs/_modules/simstack/util/directory_iterator.html +553 -0
- simstack/static/docs/_modules/simstack/util/docstring_parser.html +526 -0
- simstack/static/docs/_modules/simstack/util/file_hashing.html +394 -0
- simstack/static/docs/_modules/simstack/util/file_transfer_client.html +791 -0
- simstack/static/docs/_modules/simstack/util/files.html +733 -0
- simstack/static/docs/_modules/simstack/util/find_python_files.html +349 -0
- simstack/static/docs/_modules/simstack/util/generate_ui_schema.html +396 -0
- simstack/static/docs/_modules/simstack/util/generic_list_mixin.html +487 -0
- simstack/static/docs/_modules/simstack/util/get_module_path.html +336 -0
- simstack/static/docs/_modules/simstack/util/git_pull.html +381 -0
- simstack/static/docs/_modules/simstack/util/git_repository_status.html +411 -0
- simstack/static/docs/_modules/simstack/util/import_module.html +377 -0
- simstack/static/docs/_modules/simstack/util/importer.html +637 -0
- simstack/static/docs/_modules/simstack/util/init_data_source.html +357 -0
- simstack/static/docs/_modules/simstack/util/make_graph.html +423 -0
- simstack/static/docs/_modules/simstack/util/make_table.html +1171 -0
- simstack/static/docs/_modules/simstack/util/mappings.html +378 -0
- simstack/static/docs/_modules/simstack/util/minimal_route_finder.html +388 -0
- simstack/static/docs/_modules/simstack/util/mock_db.html +472 -0
- simstack/static/docs/_modules/simstack/util/module_path_checker.html +354 -0
- simstack/static/docs/_modules/simstack/util/object_list_mixin.html +649 -0
- simstack/static/docs/_modules/simstack/util/path_manager.html +566 -0
- simstack/static/docs/_modules/simstack/util/project_root_finder.html +357 -0
- simstack/static/docs/_modules/simstack/util/queue_watcher.html +593 -0
- simstack/static/docs/_modules/simstack/util/resource_config.html +532 -0
- simstack/static/docs/_modules/simstack/util/route_finder.html +390 -0
- simstack/static/docs/_modules/simstack/util/runner_util.html +487 -0
- simstack/static/docs/_modules/simstack/util/runner_utils.html +468 -0
- simstack/static/docs/_modules/simstack/util/safe_code_executor.html +510 -0
- simstack/static/docs/_modules/simstack/util/sample_config.html +414 -0
- simstack/static/docs/_modules/simstack/util/sensitive_content_filter.html +364 -0
- simstack/static/docs/_modules/simstack/util/setup_logging.html +365 -0
- simstack/static/docs/_modules/simstack/util/submit_to_watchdog.html +425 -0
- simstack/static/docs/_modules/simstack/util/toml_reader.html +482 -0
- simstack/static/docs/_modules/simstack/util/transform_file_name.html +357 -0
- simstack/static/docs/_modules/simstack/util/ui_tools.html +541 -0
- simstack/static/docs/_sources/architecture.rst.txt +25 -0
- simstack/static/docs/_sources/array_lists.rst.txt +60 -0
- simstack/static/docs/_sources/ci_pipeline.rst.txt +34 -0
- simstack/static/docs/_sources/data.rst.txt +175 -0
- simstack/static/docs/_sources/database_migrations.rst.txt +310 -0
- simstack/static/docs/_sources/datasets.rst.txt +93 -0
- simstack/static/docs/_sources/developer_guide.rst.txt +25 -0
- simstack/static/docs/_sources/docker_nodes.rst.txt +149 -0
- simstack/static/docs/_sources/files.rst.txt +159 -0
- simstack/static/docs/_sources/fire_and_forget_runner.rst.txt +67 -0
- simstack/static/docs/_sources/index.rst.txt +25 -0
- simstack/static/docs/_sources/installation.rst.txt +213 -0
- simstack/static/docs/_sources/lists.rst.txt +111 -0
- simstack/static/docs/_sources/mass_runner.rst.txt +91 -0
- simstack/static/docs/_sources/misc.rst.txt +106 -0
- simstack/static/docs/_sources/overview.rst.txt +91 -0
- simstack/static/docs/_sources/recovery.rst.txt +38 -0
- simstack/static/docs/_sources/resource_config.rst.txt +141 -0
- simstack/static/docs/_sources/simstack/modules/modules.rst.txt +7 -0
- simstack/static/docs/_sources/simstack/modules/simstack.core.rst.txt +205 -0
- simstack/static/docs/_sources/simstack/modules/simstack.core.services.rst.txt +109 -0
- simstack/static/docs/_sources/simstack/modules/simstack.methods.rst.txt +77 -0
- simstack/static/docs/_sources/simstack/modules/simstack.models.rst.txt +261 -0
- simstack/static/docs/_sources/simstack/modules/simstack.rst.txt +22 -0
- simstack/static/docs/_sources/simstack/modules/simstack.tables.rst.txt +45 -0
- simstack/static/docs/_sources/simstack/modules/simstack.util.rst.txt +381 -0
- simstack/static/docs/_sources/submit.rst.txt +141 -0
- simstack/static/docs/_sources/tables.rst.txt +50 -0
- simstack/static/docs/_sources/testing_complex_nodes.rst.txt +92 -0
- simstack/static/docs/_sources/ui_documentation.rst.txt +272 -0
- simstack/static/docs/_sources/workflows.rst.txt +446 -0
- simstack/static/docs/_static/base-stemmer.js +476 -0
- simstack/static/docs/_static/basic.css +906 -0
- simstack/static/docs/_static/cobalt2-theme.css +1 -0
- simstack/static/docs/_static/debug.css +69 -0
- simstack/static/docs/_static/docs-build-badge.css +51 -0
- simstack/static/docs/_static/docs-build-badge.js +51 -0
- simstack/static/docs/_static/doctools.js +150 -0
- simstack/static/docs/_static/documentation_options.js +13 -0
- simstack/static/docs/_static/english-stemmer.js +1066 -0
- simstack/static/docs/_static/file.png +0 -0
- simstack/static/docs/_static/language_data.js +13 -0
- simstack/static/docs/_static/minus.png +0 -0
- simstack/static/docs/_static/plus.png +0 -0
- simstack/static/docs/_static/pygments.css +250 -0
- simstack/static/docs/_static/scripts/furo-extensions.js +0 -0
- simstack/static/docs/_static/scripts/furo.js +3 -0
- simstack/static/docs/_static/scripts/furo.js.LICENSE.txt +7 -0
- simstack/static/docs/_static/scripts/furo.js.map +1 -0
- simstack/static/docs/_static/searchtools.js +693 -0
- simstack/static/docs/_static/skeleton.css +296 -0
- simstack/static/docs/_static/sphinx_highlight.js +159 -0
- simstack/static/docs/_static/styles/furo-extensions.css +2 -0
- simstack/static/docs/_static/styles/furo-extensions.css.map +1 -0
- simstack/static/docs/_static/styles/furo.css +2 -0
- simstack/static/docs/_static/styles/furo.css.map +1 -0
- simstack/static/docs/architecture.html +340 -0
- simstack/static/docs/array_lists.html +678 -0
- simstack/static/docs/ci_pipeline.html +385 -0
- simstack/static/docs/data.html +545 -0
- simstack/static/docs/database_migrations.html +652 -0
- simstack/static/docs/datasets.html +1268 -0
- simstack/static/docs/developer_guide.html +359 -0
- simstack/static/docs/docker_nodes.html +503 -0
- simstack/static/docs/files.html +718 -0
- simstack/static/docs/fire_and_forget_runner.html +641 -0
- simstack/static/docs/genindex.html +6390 -0
- simstack/static/docs/index.html +516 -0
- simstack/static/docs/installation.html +553 -0
- simstack/static/docs/lists.html +478 -0
- simstack/static/docs/mass_runner.html +481 -0
- simstack/static/docs/misc.html +454 -0
- simstack/static/docs/objects.inv +0 -0
- simstack/static/docs/overview.html +469 -0
- simstack/static/docs/py-modindex.html +1111 -0
- simstack/static/docs/recovery.html +371 -0
- simstack/static/docs/resource_config.html +590 -0
- simstack/static/docs/search.html +327 -0
- simstack/static/docs/searchindex.js +1 -0
- simstack/static/docs/simstack/modules/modules.html +489 -0
- simstack/static/docs/simstack/modules/simstack.core.html +1883 -0
- simstack/static/docs/simstack/modules/simstack.core.services.html +698 -0
- simstack/static/docs/simstack/modules/simstack.html +3060 -0
- simstack/static/docs/simstack/modules/simstack.methods.html +1150 -0
- simstack/static/docs/simstack/modules/simstack.models.html +13113 -0
- simstack/static/docs/simstack/modules/simstack.tables.html +635 -0
- simstack/static/docs/simstack/modules/simstack.util.html +3320 -0
- simstack/static/docs/submit.html +487 -0
- simstack/static/docs/tables.html +539 -0
- simstack/static/docs/testing_complex_nodes.html +458 -0
- simstack/static/docs/ui_documentation.html +788 -0
- simstack/static/docs/workflows.html +766 -0
- simstack/tables/__init__.py +0 -0
- simstack/tables/model_table.py +191 -0
- simstack/tables/node_children.py +219 -0
- simstack/tables/node_table.py +517 -0
- simstack/tables/table_builder.py +314 -0
- simstack/util/__init__.py +0 -0
- simstack/util/async_zip_utils.py +18 -0
- simstack/util/b64mixin.py +23 -0
- simstack/util/cleaned_json_schema.py +20 -0
- simstack/util/config_reader.py +179 -0
- simstack/util/custom_model_dump.py +75 -0
- simstack/util/database_information.py +160 -0
- simstack/util/db.py +1013 -0
- simstack/util/db_logger.py +117 -0
- simstack/util/default_from_dict.py +57 -0
- simstack/util/directory_iterator.py +216 -0
- simstack/util/docstring_parser.py +186 -0
- simstack/util/file_hashing.py +72 -0
- simstack/util/file_transfer_client.py +427 -0
- simstack/util/files.py +396 -0
- simstack/util/find_python_files.py +33 -0
- simstack/util/generate_ui_schema.py +80 -0
- simstack/util/generic_list_mixin.py +120 -0
- simstack/util/geometry_utils.py +118 -0
- simstack/util/get_module_path.py +20 -0
- simstack/util/git_pull.py +65 -0
- simstack/util/git_repository_status.py +95 -0
- simstack/util/import_module.py +63 -0
- simstack/util/importer.py +312 -0
- simstack/util/init_data_source.py +41 -0
- simstack/util/make_graph.py +107 -0
- simstack/util/make_table.py +837 -0
- simstack/util/mappings.py +41 -0
- simstack/util/minimal_route_finder.py +72 -0
- simstack/util/mock_db.py +144 -0
- simstack/util/module_path_checker.py +38 -0
- simstack/util/object_list_mixin.py +282 -0
- simstack/util/path_manager.py +223 -0
- simstack/util/project_root_finder.py +41 -0
- simstack/util/queue_watcher.py +262 -0
- simstack/util/resource_config.py +198 -0
- simstack/util/route_finder.py +74 -0
- simstack/util/runner_util.py +166 -0
- simstack/util/runner_utils.py +143 -0
- simstack/util/safe_code_executor.py +194 -0
- simstack/util/sample_config.py +98 -0
- simstack/util/sensitive_content_filter.py +48 -0
- simstack/util/setup_logging.py +49 -0
- simstack/util/submit_to_watchdog.py +106 -0
- simstack/util/toml_reader.py +142 -0
- simstack/util/transform_file_name.py +41 -0
- simstack/util/ui_tools.py +213 -0
- simstack-2.0.1.dist-info/METADATA +454 -0
- simstack-2.0.1.dist-info/RECORD +354 -0
- simstack-2.0.1.dist-info/WHEEL +5 -0
- simstack-2.0.1.dist-info/entry_points.txt +12 -0
- simstack-2.0.1.dist-info/licenses/LICENSE +21 -0
- simstack-2.0.1.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,481 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html class="no-js" lang="en" data-content_root="./">
|
|
3
|
+
<head><meta charset="utf-8">
|
|
4
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
5
|
+
<meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<link rel="index" title="Index" href="genindex.html"><link rel="search" title="Search" href="search.html"><link rel="next" title="FireAndForgetRunner" href="fire_and_forget_runner.html"><link rel="prev" title="Program Execution" href="resource_config.html">
|
|
7
|
+
|
|
8
|
+
<!-- Generated with Sphinx 9.1.0 and Furo 2025.12.19 -->
|
|
9
|
+
<title>MassRunner - SimStack II documentation</title>
|
|
10
|
+
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
|
|
11
|
+
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=7bdb33bb" />
|
|
12
|
+
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
|
|
13
|
+
<link rel="stylesheet" type="text/css" href="_static/cobalt2-theme.css?v=2d651046" />
|
|
14
|
+
<link rel="stylesheet" type="text/css" href="_static/docs-build-badge.css?v=803faff8" />
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
<style>
|
|
20
|
+
body {
|
|
21
|
+
--color-code-background: #f2f2f2;
|
|
22
|
+
--color-code-foreground: #1e1e1e;
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
@media not print {
|
|
26
|
+
body[data-theme="dark"] {
|
|
27
|
+
--color-code-background: #202020;
|
|
28
|
+
--color-code-foreground: #d0d0d0;
|
|
29
|
+
--color-background-primary: #132738;
|
|
30
|
+
--color-background-secondary: #1e3a52;
|
|
31
|
+
--color-foreground-primary: #ffffff;
|
|
32
|
+
--color-foreground-secondary: #bac8d3;
|
|
33
|
+
--color-brand-primary: #22d5ff;
|
|
34
|
+
--color-brand-content: #0088ff;
|
|
35
|
+
|
|
36
|
+
}
|
|
37
|
+
@media (prefers-color-scheme: dark) {
|
|
38
|
+
body:not([data-theme="light"]) {
|
|
39
|
+
--color-code-background: #202020;
|
|
40
|
+
--color-code-foreground: #d0d0d0;
|
|
41
|
+
--color-background-primary: #132738;
|
|
42
|
+
--color-background-secondary: #1e3a52;
|
|
43
|
+
--color-foreground-primary: #ffffff;
|
|
44
|
+
--color-foreground-secondary: #bac8d3;
|
|
45
|
+
--color-brand-primary: #22d5ff;
|
|
46
|
+
--color-brand-content: #0088ff;
|
|
47
|
+
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
</style></head>
|
|
52
|
+
<body>
|
|
53
|
+
|
|
54
|
+
<script>
|
|
55
|
+
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
|
|
56
|
+
</script>
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
|
|
60
|
+
<symbol id="svg-toc" viewBox="0 0 24 24">
|
|
61
|
+
<title>Contents</title>
|
|
62
|
+
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
|
|
63
|
+
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
|
|
64
|
+
</svg>
|
|
65
|
+
</symbol>
|
|
66
|
+
<symbol id="svg-menu" viewBox="0 0 24 24">
|
|
67
|
+
<title>Menu</title>
|
|
68
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
69
|
+
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
|
|
70
|
+
<line x1="3" y1="12" x2="21" y2="12"></line>
|
|
71
|
+
<line x1="3" y1="6" x2="21" y2="6"></line>
|
|
72
|
+
<line x1="3" y1="18" x2="21" y2="18"></line>
|
|
73
|
+
</svg>
|
|
74
|
+
</symbol>
|
|
75
|
+
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
|
|
76
|
+
<title>Expand</title>
|
|
77
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
78
|
+
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
|
|
79
|
+
<polyline points="9 18 15 12 9 6"></polyline>
|
|
80
|
+
</svg>
|
|
81
|
+
</symbol>
|
|
82
|
+
<symbol id="svg-sun" viewBox="0 0 24 24">
|
|
83
|
+
<title>Light mode</title>
|
|
84
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
85
|
+
stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
|
|
86
|
+
<circle cx="12" cy="12" r="5"></circle>
|
|
87
|
+
<line x1="12" y1="1" x2="12" y2="3"></line>
|
|
88
|
+
<line x1="12" y1="21" x2="12" y2="23"></line>
|
|
89
|
+
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
|
90
|
+
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
|
91
|
+
<line x1="1" y1="12" x2="3" y2="12"></line>
|
|
92
|
+
<line x1="21" y1="12" x2="23" y2="12"></line>
|
|
93
|
+
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
|
94
|
+
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
|
95
|
+
</svg>
|
|
96
|
+
</symbol>
|
|
97
|
+
<symbol id="svg-moon" viewBox="0 0 24 24">
|
|
98
|
+
<title>Dark mode</title>
|
|
99
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
100
|
+
stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
|
|
101
|
+
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
|
102
|
+
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
|
|
103
|
+
</svg>
|
|
104
|
+
</symbol>
|
|
105
|
+
<symbol id="svg-sun-with-moon" viewBox="0 0 24 24">
|
|
106
|
+
<title>Auto light/dark, in light mode</title>
|
|
107
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
108
|
+
stroke-width="1" stroke-linecap="round" stroke-linejoin="round"
|
|
109
|
+
class="icon-custom-derived-from-feather-sun-and-tabler-moon">
|
|
110
|
+
<path style="opacity: 50%" d="M 5.411 14.504 C 5.471 14.504 5.532 14.504 5.591 14.504 C 3.639 16.319 4.383 19.569 6.931 20.352 C 7.693 20.586 8.512 20.551 9.25 20.252 C 8.023 23.207 4.056 23.725 2.11 21.184 C 0.166 18.642 1.702 14.949 4.874 14.536 C 5.051 14.512 5.231 14.5 5.411 14.5 L 5.411 14.504 Z"/>
|
|
111
|
+
<line x1="14.5" y1="3.25" x2="14.5" y2="1.25"/>
|
|
112
|
+
<line x1="14.5" y1="15.85" x2="14.5" y2="17.85"/>
|
|
113
|
+
<line x1="10.044" y1="5.094" x2="8.63" y2="3.68"/>
|
|
114
|
+
<line x1="19" y1="14.05" x2="20.414" y2="15.464"/>
|
|
115
|
+
<line x1="8.2" y1="9.55" x2="6.2" y2="9.55"/>
|
|
116
|
+
<line x1="20.8" y1="9.55" x2="22.8" y2="9.55"/>
|
|
117
|
+
<line x1="10.044" y1="14.006" x2="8.63" y2="15.42"/>
|
|
118
|
+
<line x1="19" y1="5.05" x2="20.414" y2="3.636"/>
|
|
119
|
+
<circle cx="14.5" cy="9.55" r="3.6"/>
|
|
120
|
+
</svg>
|
|
121
|
+
</symbol>
|
|
122
|
+
<symbol id="svg-moon-with-sun" viewBox="0 0 24 24">
|
|
123
|
+
<title>Auto light/dark, in dark mode</title>
|
|
124
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
125
|
+
stroke-width="1" stroke-linecap="round" stroke-linejoin="round"
|
|
126
|
+
class="icon-custom-derived-from-feather-sun-and-tabler-moon">
|
|
127
|
+
<path d="M 8.282 7.007 C 8.385 7.007 8.494 7.007 8.595 7.007 C 5.18 10.184 6.481 15.869 10.942 17.24 C 12.275 17.648 13.706 17.589 15 17.066 C 12.851 22.236 5.91 23.143 2.505 18.696 C -0.897 14.249 1.791 7.786 7.342 7.063 C 7.652 7.021 7.965 7 8.282 7 L 8.282 7.007 Z"/>
|
|
128
|
+
<line style="opacity: 50%" x1="18" y1="3.705" x2="18" y2="2.5"/>
|
|
129
|
+
<line style="opacity: 50%" x1="18" y1="11.295" x2="18" y2="12.5"/>
|
|
130
|
+
<line style="opacity: 50%" x1="15.316" y1="4.816" x2="14.464" y2="3.964"/>
|
|
131
|
+
<line style="opacity: 50%" x1="20.711" y1="10.212" x2="21.563" y2="11.063"/>
|
|
132
|
+
<line style="opacity: 50%" x1="14.205" y1="7.5" x2="13.001" y2="7.5"/>
|
|
133
|
+
<line style="opacity: 50%" x1="21.795" y1="7.5" x2="23" y2="7.5"/>
|
|
134
|
+
<line style="opacity: 50%" x1="15.316" y1="10.184" x2="14.464" y2="11.036"/>
|
|
135
|
+
<line style="opacity: 50%" x1="20.711" y1="4.789" x2="21.563" y2="3.937"/>
|
|
136
|
+
<circle style="opacity: 50%" cx="18" cy="7.5" r="2.169"/>
|
|
137
|
+
</svg>
|
|
138
|
+
</symbol>
|
|
139
|
+
<symbol id="svg-pencil" viewBox="0 0 24 24">
|
|
140
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
141
|
+
stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-pencil-code">
|
|
142
|
+
<path d="M4 20h4l10.5 -10.5a2.828 2.828 0 1 0 -4 -4l-10.5 10.5v4" />
|
|
143
|
+
<path d="M13.5 6.5l4 4" />
|
|
144
|
+
<path d="M20 21l2 -2l-2 -2" />
|
|
145
|
+
<path d="M17 17l-2 2l2 2" />
|
|
146
|
+
</svg>
|
|
147
|
+
</symbol>
|
|
148
|
+
<symbol id="svg-eye" viewBox="0 0 24 24">
|
|
149
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
150
|
+
stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-eye-code">
|
|
151
|
+
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
|
152
|
+
<path d="M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
|
|
153
|
+
<path
|
|
154
|
+
d="M11.11 17.958c-3.209 -.307 -5.91 -2.293 -8.11 -5.958c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6c-.21 .352 -.427 .688 -.647 1.008" />
|
|
155
|
+
<path d="M20 21l2 -2l-2 -2" />
|
|
156
|
+
<path d="M17 17l-2 2l2 2" />
|
|
157
|
+
</svg>
|
|
158
|
+
</symbol>
|
|
159
|
+
</svg>
|
|
160
|
+
|
|
161
|
+
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation" aria-label="Toggle site navigation sidebar">
|
|
162
|
+
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc" aria-label="Toggle table of contents sidebar">
|
|
163
|
+
<label class="overlay sidebar-overlay" for="__navigation"></label>
|
|
164
|
+
<label class="overlay toc-overlay" for="__toc"></label>
|
|
165
|
+
|
|
166
|
+
<a class="skip-to-content muted-link" href="#furo-main-content">Skip to content</a>
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
<div class="page">
|
|
171
|
+
<header class="mobile-header">
|
|
172
|
+
<div class="header-left">
|
|
173
|
+
<label class="nav-overlay-icon" for="__navigation">
|
|
174
|
+
<span class="icon"><svg><use href="#svg-menu"></use></svg></span>
|
|
175
|
+
</label>
|
|
176
|
+
</div>
|
|
177
|
+
<div class="header-center">
|
|
178
|
+
<a href="index.html"><div class="brand">SimStack II documentation</div></a>
|
|
179
|
+
</div>
|
|
180
|
+
<div class="header-right">
|
|
181
|
+
<div class="theme-toggle-container theme-toggle-header">
|
|
182
|
+
<button class="theme-toggle" aria-label="Toggle Light / Dark / Auto color theme">
|
|
183
|
+
<svg class="theme-icon-when-auto-light"><use href="#svg-sun-with-moon"></use></svg>
|
|
184
|
+
<svg class="theme-icon-when-auto-dark"><use href="#svg-moon-with-sun"></use></svg>
|
|
185
|
+
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
|
186
|
+
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
|
187
|
+
</button>
|
|
188
|
+
</div>
|
|
189
|
+
<label class="toc-overlay-icon toc-header-icon" for="__toc">
|
|
190
|
+
<span class="icon"><svg><use href="#svg-toc"></use></svg></span>
|
|
191
|
+
</label>
|
|
192
|
+
</div>
|
|
193
|
+
</header>
|
|
194
|
+
<aside class="sidebar-drawer">
|
|
195
|
+
<div class="sidebar-container">
|
|
196
|
+
|
|
197
|
+
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
|
201
|
+
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
|
202
|
+
<input type="hidden" name="check_keywords" value="yes">
|
|
203
|
+
<input type="hidden" name="area" value="default">
|
|
204
|
+
</form>
|
|
205
|
+
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
|
|
206
|
+
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
|
|
207
|
+
<ul class="current">
|
|
208
|
+
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
|
|
209
|
+
<li class="toctree-l1"><a class="reference internal" href="workflows.html">Workflows</a></li>
|
|
210
|
+
<li class="toctree-l1"><a class="reference internal" href="ui_documentation.html">Graphical User Interface</a></li>
|
|
211
|
+
<li class="toctree-l1 current has-children"><a class="reference internal" href="developer_guide.html">Developer Guide</a><input aria-label="Toggle navigation of Developer Guide" checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul class="current">
|
|
212
|
+
<li class="toctree-l2"><a class="reference internal" href="data.html">Persisting and Visualizing Data</a></li>
|
|
213
|
+
<li class="toctree-l2"><a class="reference internal" href="datasets.html">Datasets</a></li>
|
|
214
|
+
<li class="toctree-l2"><a class="reference internal" href="lists.html">List Mixins</a></li>
|
|
215
|
+
<li class="toctree-l2"><a class="reference internal" href="array_lists.html">Array Lists</a></li>
|
|
216
|
+
<li class="toctree-l2"><a class="reference internal" href="tables.html">Tables</a></li>
|
|
217
|
+
<li class="toctree-l2"><a class="reference internal" href="files.html">File Management</a></li>
|
|
218
|
+
<li class="toctree-l2"><a class="reference internal" href="resource_config.html">Program Execution</a></li>
|
|
219
|
+
<li class="toctree-l2 current current-page"><a class="current reference internal" href="#">MassRunner</a></li>
|
|
220
|
+
<li class="toctree-l2"><a class="reference internal" href="fire_and_forget_runner.html">FireAndForgetRunner</a></li>
|
|
221
|
+
<li class="toctree-l2"><a class="reference internal" href="docker_nodes.html">Creating Docker Containers for SimStack Nodes</a></li>
|
|
222
|
+
<li class="toctree-l2"><a class="reference internal" href="testing_complex_nodes.html">Testing Complex Nodes</a></li>
|
|
223
|
+
<li class="toctree-l2"><a class="reference internal" href="database_migrations.html">Database Migrations</a></li>
|
|
224
|
+
<li class="toctree-l2"><a class="reference internal" href="ci_pipeline.html">CI Pipeline and Documentation Artifacts</a></li>
|
|
225
|
+
<li class="toctree-l2"><a class="reference internal" href="misc.html">Miscellaneous</a></li>
|
|
226
|
+
</ul>
|
|
227
|
+
</li>
|
|
228
|
+
<li class="toctree-l1"><a class="reference internal" href="installation.html">Simstack II Setup</a></li>
|
|
229
|
+
<li class="toctree-l1 has-children"><a class="reference internal" href="simstack/modules/modules.html">simstack</a><input aria-label="Toggle navigation of simstack" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
|
|
230
|
+
<li class="toctree-l2 has-children"><a class="reference internal" href="simstack/modules/simstack.html">simstack package</a><input aria-label="Toggle navigation of simstack package" class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
|
|
231
|
+
<li class="toctree-l3 has-children"><a class="reference internal" href="simstack/modules/simstack.core.html">simstack.core package</a><input aria-label="Toggle navigation of simstack.core package" class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
|
|
232
|
+
<li class="toctree-l4"><a class="reference internal" href="simstack/modules/simstack.core.services.html">simstack.core.services package</a></li>
|
|
233
|
+
</ul>
|
|
234
|
+
</li>
|
|
235
|
+
<li class="toctree-l3"><a class="reference internal" href="simstack/modules/simstack.methods.html">simstack.methods package</a></li>
|
|
236
|
+
<li class="toctree-l3"><a class="reference internal" href="simstack/modules/simstack.models.html">simstack.models package</a></li>
|
|
237
|
+
<li class="toctree-l3"><a class="reference internal" href="simstack/modules/simstack.tables.html">simstack.tables package</a></li>
|
|
238
|
+
<li class="toctree-l3"><a class="reference internal" href="simstack/modules/simstack.util.html">simstack.util package</a></li>
|
|
239
|
+
</ul>
|
|
240
|
+
</li>
|
|
241
|
+
</ul>
|
|
242
|
+
</li>
|
|
243
|
+
</ul>
|
|
244
|
+
|
|
245
|
+
</div>
|
|
246
|
+
</div>
|
|
247
|
+
|
|
248
|
+
</div>
|
|
249
|
+
|
|
250
|
+
</div>
|
|
251
|
+
</aside>
|
|
252
|
+
<div class="main">
|
|
253
|
+
<div class="content">
|
|
254
|
+
<div class="article-container">
|
|
255
|
+
<a href="#" class="back-to-top muted-link">
|
|
256
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
|
257
|
+
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
|
|
258
|
+
</svg>
|
|
259
|
+
<span>Back to top</span>
|
|
260
|
+
</a>
|
|
261
|
+
<div class="content-icon-container">
|
|
262
|
+
<div class="view-this-page">
|
|
263
|
+
<a class="muted-link" href="_sources/mass_runner.rst.txt" title="View this page">
|
|
264
|
+
<svg><use href="#svg-eye"></use></svg>
|
|
265
|
+
<span class="visually-hidden">View this page</span>
|
|
266
|
+
</a>
|
|
267
|
+
</div>
|
|
268
|
+
<div class="theme-toggle-container theme-toggle-content">
|
|
269
|
+
<button class="theme-toggle" aria-label="Toggle Light / Dark / Auto color theme">
|
|
270
|
+
<svg class="theme-icon-when-auto-light"><use href="#svg-sun-with-moon"></use></svg>
|
|
271
|
+
<svg class="theme-icon-when-auto-dark"><use href="#svg-moon-with-sun"></use></svg>
|
|
272
|
+
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
|
273
|
+
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
|
274
|
+
</button>
|
|
275
|
+
</div>
|
|
276
|
+
<label class="toc-overlay-icon toc-content-icon" for="__toc">
|
|
277
|
+
<span class="icon"><svg><use href="#svg-toc"></use></svg></span>
|
|
278
|
+
</label>
|
|
279
|
+
</div>
|
|
280
|
+
<article role="main" id="furo-main-content">
|
|
281
|
+
<section id="massrunner">
|
|
282
|
+
<h1>MassRunner<a class="headerlink" href="#massrunner" title="Link to this heading">¶</a></h1>
|
|
283
|
+
<dl class="py class">
|
|
284
|
+
<dt class="sig sig-object py" id="simstack.methods.mass_runner.MassRunner">
|
|
285
|
+
<span class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></span><span class="sig-prename descclassname"><span class="pre">simstack.methods.mass_runner.</span></span><span class="sig-name descname"><span class="pre">MassRunner</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">node:</span> <span class="pre">~typing.Callable[[...],</span> <span class="pre">~typing.Any],</span> <span class="pre">max_concurrency:</span> <span class="pre">int</span> <span class="pre">|</span> <span class="pre">None</span> <span class="pre">=</span> <span class="pre">None,</span> <span class="pre">*,</span> <span class="pre">status:</span> <span class="pre">~simstack.core.definitions.TaskStatus</span> <span class="pre">=</span> <span class="pre">TaskStatus.RETRIEVED,</span> <span class="pre">error_message:</span> <span class="pre">str</span> <span class="pre">|</span> <span class="pre">None</span> <span class="pre">=</span> <span class="pre">None,</span> <span class="pre">message:</span> <span class="pre">str</span> <span class="pre">|</span> <span class="pre">None</span> <span class="pre">=</span> <span class="pre">None,</span> <span class="pre">files:</span> <span class="pre">~typing.List[~simstack.models.files.FileStack]</span> <span class="pre">=</span> <span class="pre"><factory>,</span> <span class="pre">info_files:</span> <span class="pre">~typing.List[~simstack.models.files.FileStack]</span> <span class="pre">=</span> <span class="pre"><factory>,</span> <span class="pre">**kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/simstack/methods/mass_runner.html#MassRunner"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#simstack.methods.mass_runner.MassRunner" title="Link to this definition">¶</a></dt>
|
|
286
|
+
<dd><p>Bases: <a class="reference internal" href="simstack/modules/simstack.core.html#simstack.core.node_runner.NodeRunner" title="simstack.core.node_runner.NodeRunner"><code class="xref py py-class docutils literal notranslate"><span class="pre">NodeRunner</span></code></a></p>
|
|
287
|
+
<dl class="py method">
|
|
288
|
+
<dt class="sig sig-object py" id="simstack.methods.mass_runner.MassRunner.create_tasks">
|
|
289
|
+
<span class="sig-name descname"><span class="pre">create_tasks</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Model</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/simstack/methods/mass_runner.html#MassRunner.create_tasks"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#simstack.methods.mass_runner.MassRunner.create_tasks" title="Link to this definition">¶</a></dt>
|
|
290
|
+
<dd></dd></dl>
|
|
291
|
+
|
|
292
|
+
<dl class="py attribute">
|
|
293
|
+
<dt class="sig sig-object py" id="simstack.methods.mass_runner.MassRunner.model_config">
|
|
294
|
+
<span class="sig-name descname"><span class="pre">model_config</span></span><span class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'extra':</span> <span class="pre">'allow'}</span></span><a class="headerlink" href="#simstack.methods.mass_runner.MassRunner.model_config" title="Link to this definition">¶</a></dt>
|
|
295
|
+
<dd><p>Represents the results from a Simstack operation.</p>
|
|
296
|
+
<p>This class serves to encapsulate the status, messages, and files resulting
|
|
297
|
+
from a Simstack operation. It provides structured attributes for the error
|
|
298
|
+
message, operation message, and categorized files, ensuring clarity in the
|
|
299
|
+
representation of these aspects. It also supports additional fields through
|
|
300
|
+
flexible configuration.</p>
|
|
301
|
+
<dl class="field-list simple">
|
|
302
|
+
<dt class="field-odd">Variables<span class="colon">:</span></dt>
|
|
303
|
+
<dd class="field-odd"><ul class="simple">
|
|
304
|
+
<li><p><strong>status</strong> – Indicates the status of the task, defaulting to <cite>TaskStatus.COMPLETED</cite>.</p></li>
|
|
305
|
+
<li><p><strong>error_message</strong> – Optionally stores an error message if the task encountered issues.</p></li>
|
|
306
|
+
<li><p><strong>message</strong> – An optional general message providing additional information about the task.</p></li>
|
|
307
|
+
<li><p><strong>files</strong> – A list of <cite>FileStack</cite> objects that represent the primary files involved in
|
|
308
|
+
the operation. Defaults to an empty list.</p></li>
|
|
309
|
+
<li><p><strong>info_files</strong> – A list of <cite>FileStack</cite> objects that provide additional or informational
|
|
310
|
+
files pertaining to the operation. Defaults to an empty list. These files are shown in the results
|
|
311
|
+
but not passed to the calling function</p></li>
|
|
312
|
+
</ul>
|
|
313
|
+
</dd>
|
|
314
|
+
</dl>
|
|
315
|
+
</dd></dl>
|
|
316
|
+
|
|
317
|
+
<dl class="py method">
|
|
318
|
+
<dt class="sig sig-object py" id="simstack.methods.mass_runner.MassRunner.recover_orphaned_datasets">
|
|
319
|
+
<span class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></span><span class="sig-name descname"><span class="pre">recover_orphaned_datasets</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/simstack/methods/mass_runner.html#MassRunner.recover_orphaned_datasets"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#simstack.methods.mass_runner.MassRunner.recover_orphaned_datasets" title="Link to this definition">¶</a></dt>
|
|
320
|
+
<dd></dd></dl>
|
|
321
|
+
|
|
322
|
+
</dd></dl>
|
|
323
|
+
|
|
324
|
+
<p>The <code class="docutils literal notranslate"><span class="pre">MassRunner</span></code> is a specialized <code class="docutils literal notranslate"><span class="pre">NodeRunner</span></code> utility designed to execute a large number of independent node tasks in parallel. It handles task orchestration, concurrency control, and result persistence within a <code class="docutils literal notranslate"><span class="pre">DataSet</span></code>.</p>
|
|
325
|
+
<section id="key-features">
|
|
326
|
+
<h2>Key Features<a class="headerlink" href="#key-features" title="Link to this heading">¶</a></h2>
|
|
327
|
+
<ul class="simple">
|
|
328
|
+
<li><p><strong>Parallel Execution</strong>: Leverages <code class="docutils literal notranslate"><span class="pre">asyncio</span></code> to run multiple nodes concurrently.</p></li>
|
|
329
|
+
<li><p><strong>Concurrency Control</strong>: Supports an optional <code class="docutils literal notranslate"><span class="pre">max_concurrency</span></code> parameter using an internal semaphore.</p></li>
|
|
330
|
+
<li><p><strong>Automatic Persistence</strong>: Stores results (both successful and failed) in a <code class="docutils literal notranslate"><span class="pre">DataSet</span></code> model.</p></li>
|
|
331
|
+
<li><p><strong>Result Recovery</strong>: Can recover results from previous runs of the same or different nodes using <code class="docutils literal notranslate"><span class="pre">recover_orphaned_datasets</span></code>.</p></li>
|
|
332
|
+
<li><p><strong>Hashing and Caching</strong>: Computes hashes for arguments to skip redundant executions.</p></li>
|
|
333
|
+
</ul>
|
|
334
|
+
</section>
|
|
335
|
+
<section id="usage">
|
|
336
|
+
<h2>Usage<a class="headerlink" href="#usage" title="Link to this heading">¶</a></h2>
|
|
337
|
+
<p>The <code class="docutils literal notranslate"><span class="pre">MassRunner</span></code> is typically used within an <code class="docutils literal notranslate"><span class="pre">async</span> <span class="pre">with</span></code> block inside a parent node.</p>
|
|
338
|
+
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">applications.general.mass_runner</span><span class="w"> </span><span class="kn">import</span> <span class="n">MassRunner</span>
|
|
339
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">simstack.models</span><span class="w"> </span><span class="kn">import</span> <span class="n">IntData</span>
|
|
340
|
+
|
|
341
|
+
<span class="nd">@node</span>
|
|
342
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">my_parallel_master</span><span class="p">(</span><span class="n">argument</span><span class="p">:</span> <span class="n">IntData</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
|
343
|
+
<span class="c1"># Initialize MassRunner with the target node to be executed in parallel</span>
|
|
344
|
+
<span class="k">async</span> <span class="k">with</span> <span class="n">MassRunner</span><span class="p">(</span><span class="n">target_node</span><span class="p">,</span> <span class="n">max_concurrency</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="k">as</span> <span class="n">runner</span><span class="p">:</span>
|
|
345
|
+
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">argument</span><span class="o">.</span><span class="n">value</span><span class="p">):</span>
|
|
346
|
+
<span class="c1"># Create tasks for individual inputs</span>
|
|
347
|
+
<span class="n">runner</span><span class="o">.</span><span class="n">create_tasks</span><span class="p">(</span><span class="n">IntData</span><span class="p">(</span><span class="n">value</span><span class="o">=</span><span class="n">i</span><span class="p">))</span>
|
|
348
|
+
|
|
349
|
+
<span class="c1"># After the block, runner.dataset contains all results</span>
|
|
350
|
+
<span class="k">return</span> <span class="n">runner</span><span class="o">.</span><span class="n">dataset</span>
|
|
351
|
+
</pre></div>
|
|
352
|
+
</div>
|
|
353
|
+
<p>The dataset will comprise a single <code class="docutils literal notranslate"><span class="pre">DataSetSection</span></code> called “tasks”. Each row contains all inputs and outputs of the
|
|
354
|
+
node that has been called, success and error flags. The name of the row is the arg-hash of the arguments of the node.</p>
|
|
355
|
+
</section>
|
|
356
|
+
<section id="detailed-flow-in-massrunner-tests">
|
|
357
|
+
<h2>Detailed Flow in MassRunner Tests<a class="headerlink" href="#detailed-flow-in-massrunner-tests" title="Link to this heading">¶</a></h2>
|
|
358
|
+
<p>The <code class="docutils literal notranslate"><span class="pre">mass_runner_test.py</span></code> file demonstrates how <code class="docutils literal notranslate"><span class="pre">MassRunner</span></code> handles task execution, failures, and recovery.</p>
|
|
359
|
+
<section id="failure-demonstration-mass-runner-test-master-node">
|
|
360
|
+
<h3>1. <strong>Failure Demonstration (mass_runner_test_master_node)</strong><a class="headerlink" href="#failure-demonstration-mass-runner-test-master-node" title="Link to this heading">¶</a></h3>
|
|
361
|
+
<p>The test first calls <code class="docutils literal notranslate"><span class="pre">mass_runner_test_master_node</span></code>, which uses <code class="docutils literal notranslate"><span class="pre">MassRunner</span></code> to call <code class="docutils literal notranslate"><span class="pre">sad_node</span></code>.</p>
|
|
362
|
+
<ul class="simple">
|
|
363
|
+
<li><p><strong>sad_node logic</strong>: Fails if the input integer is even (<code class="docutils literal notranslate"><span class="pre">argument.value</span> <span class="pre">%</span> <span class="pre">2</span> <span class="pre">==</span> <span class="pre">0</span></code>).</p></li>
|
|
364
|
+
<li><p><strong>Execution</strong>: For inputs <code class="docutils literal notranslate"><span class="pre">0,</span> <span class="pre">1,</span> <span class="pre">2</span></code>, inputs <code class="docutils literal notranslate"><span class="pre">0</span></code> and <code class="docutils literal notranslate"><span class="pre">2</span></code> will fail, while <code class="docutils literal notranslate"><span class="pre">1</span></code> will succeed.</p></li>
|
|
365
|
+
<li><p><strong>Dataset State</strong>: The resulting <code class="docutils literal notranslate"><span class="pre">DataSet</span></code> contains a “tasks” section where each entry records the success status and any error messages.</p></li>
|
|
366
|
+
</ul>
|
|
367
|
+
</section>
|
|
368
|
+
<section id="recovery-and-fix-mass-runner-test-fix-master-node">
|
|
369
|
+
<h3>2. <strong>Recovery and Fix (mass_runner_test_fix_master_node)</strong><a class="headerlink" href="#recovery-and-fix-mass-runner-test-fix-master-node" title="Link to this heading">¶</a></h3>
|
|
370
|
+
<p>The second part of the test demonstrates how to “fix” a failed workflow by reusing successful results and replacing failed ones with results from a different node (or a fixed version of the same node).</p>
|
|
371
|
+
<ul class="simple">
|
|
372
|
+
<li><p><strong>Context Setup</strong>: It passes the <code class="docutils literal notranslate"><span class="pre">previous_task_id</span></code> and sets <code class="docutils literal notranslate"><span class="pre">previous_node_name</span></code> in <code class="docutils literal notranslate"><span class="pre">kwargs</span></code>.</p></li>
|
|
373
|
+
<li><p><strong>MassRunner Initialization</strong>: It initializes <code class="docutils literal notranslate"><span class="pre">MassRunner</span></code> with <code class="docutils literal notranslate"><span class="pre">happy_node</span></code> (which always succeeds).</p></li>
|
|
374
|
+
<li><p><strong>Orphan Recovery</strong>: Calling <code class="docutils literal notranslate"><span class="pre">await</span> <span class="pre">result.recover_orphaned_datasets()</span></code> searches the database for the dataset generated in the first step.</p></li>
|
|
375
|
+
<li><p><strong>Selective Execution</strong>:
|
|
376
|
+
- When <code class="docutils literal notranslate"><span class="pre">create_tasks</span></code> is called, <code class="docutils literal notranslate"><span class="pre">MassRunner</span></code> checks the existing dataset for a matching <code class="docutils literal notranslate"><span class="pre">arg_hash</span></code>.
|
|
377
|
+
- If a <strong>successful</strong> result is found for that hash, it is copied into the new dataset and the node execution is skipped.
|
|
378
|
+
- If no result or a <strong>failed</strong> result is found, it executes the new node (<code class="docutils literal notranslate"><span class="pre">happy_node</span></code>) and stores the new success.</p></li>
|
|
379
|
+
<li><p><strong>Result</strong>: The final dataset contains the reused success from the first run (for input <code class="docutils literal notranslate"><span class="pre">1</span></code>) and the new successful results from <code class="docutils literal notranslate"><span class="pre">happy_node</span></code> (for inputs <code class="docutils literal notranslate"><span class="pre">0</span></code> and <code class="docutils literal notranslate"><span class="pre">2</span></code>).</p></li>
|
|
380
|
+
</ul>
|
|
381
|
+
</section>
|
|
382
|
+
</section>
|
|
383
|
+
<section id="logging-and-metadata">
|
|
384
|
+
<h2>Logging and Metadata<a class="headerlink" href="#logging-and-metadata" title="Link to this heading">¶</a></h2>
|
|
385
|
+
<p><code class="docutils literal notranslate"><span class="pre">MassRunner</span></code> automatically attaches metadata to the <code class="docutils literal notranslate"><span class="pre">DataSet</span></code>, including:
|
|
386
|
+
* The original node name.
|
|
387
|
+
* The task ID of the master node.
|
|
388
|
+
* The argument hash used for grouping.
|
|
389
|
+
* The call path within the workflow.</p>
|
|
390
|
+
<p>This metadata is crucial for the <code class="docutils literal notranslate"><span class="pre">recover_orphaned_datasets</span></code> method to correctly identify related data from previous executions.</p>
|
|
391
|
+
</section>
|
|
392
|
+
</section>
|
|
393
|
+
|
|
394
|
+
</article>
|
|
395
|
+
</div>
|
|
396
|
+
<footer>
|
|
397
|
+
|
|
398
|
+
<div class="related-pages">
|
|
399
|
+
<a class="next-page" href="fire_and_forget_runner.html">
|
|
400
|
+
<div class="page-info">
|
|
401
|
+
<div class="context">
|
|
402
|
+
<span>Next</span>
|
|
403
|
+
</div>
|
|
404
|
+
<div class="title">FireAndForgetRunner</div>
|
|
405
|
+
</div>
|
|
406
|
+
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
|
|
407
|
+
</a>
|
|
408
|
+
<a class="prev-page" href="resource_config.html">
|
|
409
|
+
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
|
|
410
|
+
<div class="page-info">
|
|
411
|
+
<div class="context">
|
|
412
|
+
<span>Previous</span>
|
|
413
|
+
</div>
|
|
414
|
+
|
|
415
|
+
<div class="title">Program Execution</div>
|
|
416
|
+
|
|
417
|
+
</div>
|
|
418
|
+
</a>
|
|
419
|
+
</div>
|
|
420
|
+
<div class="bottom-of-page">
|
|
421
|
+
<div class="left-details">
|
|
422
|
+
<div class="copyright">
|
|
423
|
+
Copyright © 2026, Wolfgang Wenzel
|
|
424
|
+
</div>
|
|
425
|
+
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
|
|
426
|
+
|
|
427
|
+
<a href="https://github.com/pradyunsg/furo">Furo</a>
|
|
428
|
+
|
|
429
|
+
</div>
|
|
430
|
+
<div class="right-details">
|
|
431
|
+
|
|
432
|
+
</div>
|
|
433
|
+
</div>
|
|
434
|
+
|
|
435
|
+
</footer>
|
|
436
|
+
</div>
|
|
437
|
+
<aside class="toc-drawer">
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
<div class="toc-sticky toc-scroll">
|
|
441
|
+
<div class="toc-title-container">
|
|
442
|
+
<span class="toc-title">
|
|
443
|
+
On this page
|
|
444
|
+
</span>
|
|
445
|
+
</div>
|
|
446
|
+
<div class="toc-tree-container">
|
|
447
|
+
<div class="toc-tree">
|
|
448
|
+
<ul>
|
|
449
|
+
<li><a class="reference internal" href="#">MassRunner</a><ul>
|
|
450
|
+
<li><a class="reference internal" href="#simstack.methods.mass_runner.MassRunner"><code class="docutils literal notranslate"><span class="pre">MassRunner</span></code></a><ul>
|
|
451
|
+
<li><a class="reference internal" href="#simstack.methods.mass_runner.MassRunner.create_tasks"><code class="docutils literal notranslate"><span class="pre">MassRunner.create_tasks()</span></code></a></li>
|
|
452
|
+
<li><a class="reference internal" href="#simstack.methods.mass_runner.MassRunner.model_config"><code class="docutils literal notranslate"><span class="pre">MassRunner.model_config</span></code></a></li>
|
|
453
|
+
<li><a class="reference internal" href="#simstack.methods.mass_runner.MassRunner.recover_orphaned_datasets"><code class="docutils literal notranslate"><span class="pre">MassRunner.recover_orphaned_datasets()</span></code></a></li>
|
|
454
|
+
</ul>
|
|
455
|
+
</li>
|
|
456
|
+
<li><a class="reference internal" href="#key-features">Key Features</a></li>
|
|
457
|
+
<li><a class="reference internal" href="#usage">Usage</a></li>
|
|
458
|
+
<li><a class="reference internal" href="#detailed-flow-in-massrunner-tests">Detailed Flow in MassRunner Tests</a><ul>
|
|
459
|
+
<li><a class="reference internal" href="#failure-demonstration-mass-runner-test-master-node">1. <strong>Failure Demonstration (mass_runner_test_master_node)</strong></a></li>
|
|
460
|
+
<li><a class="reference internal" href="#recovery-and-fix-mass-runner-test-fix-master-node">2. <strong>Recovery and Fix (mass_runner_test_fix_master_node)</strong></a></li>
|
|
461
|
+
</ul>
|
|
462
|
+
</li>
|
|
463
|
+
<li><a class="reference internal" href="#logging-and-metadata">Logging and Metadata</a></li>
|
|
464
|
+
</ul>
|
|
465
|
+
</li>
|
|
466
|
+
</ul>
|
|
467
|
+
|
|
468
|
+
</div>
|
|
469
|
+
</div>
|
|
470
|
+
</div>
|
|
471
|
+
|
|
472
|
+
|
|
473
|
+
</aside>
|
|
474
|
+
</div>
|
|
475
|
+
</div><script src="_static/documentation_options.js?v=5929fcd5"></script>
|
|
476
|
+
<script src="_static/doctools.js?v=fd6eb6e6"></script>
|
|
477
|
+
<script src="_static/sphinx_highlight.js?v=6ffebe34"></script>
|
|
478
|
+
<script src="_static/scripts/furo.js?v=46bd48cc"></script>
|
|
479
|
+
<script data-docs-built-at="2026-07-17 10:50:10 UTC" src="_static/docs-build-badge.js?v=57cb9fc6"></script>
|
|
480
|
+
</body>
|
|
481
|
+
</html>
|