hypershell 2.7.2__tar.gz → 2.8.0__tar.gz
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.
- {hypershell-2.7.2 → hypershell-2.8.0}/.gitignore +10 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/PKG-INFO +65 -21
- {hypershell-2.7.2 → hypershell-2.8.0}/README.rst +46 -14
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/client_help.rst +41 -8
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/client_usage.rst +3 -1
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/cluster_help.rst +79 -15
- hypershell-2.8.0/docs/_include/cluster_usage.rst +8 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/config_param_ref.rst +182 -10
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/database.rst +44 -2
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/initdb_help.rst +3 -3
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/license.rst +1 -1
- hypershell-2.8.0/docs/_include/security_alt.rst +36 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/server_help.rst +41 -3
- hypershell-2.8.0/docs/_include/server_usage.rst +4 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/signals.rst +6 -1
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/submit_desc.rst +4 -3
- hypershell-2.8.0/docs/_include/submit_help.rst +111 -0
- hypershell-2.8.0/docs/_include/submit_usage.rst +5 -0
- hypershell-2.8.0/docs/_include/task_groups_alt.rst +20 -0
- hypershell-2.8.0/docs/_include/task_info_help.rst +39 -0
- hypershell-2.8.0/docs/_include/task_info_usage.rst +2 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/task_search_help.rst +12 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/task_search_usage.rst +3 -3
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/task_update_help.rst +6 -0
- hypershell-2.8.0/docs/_include/task_update_usage.rst +9 -0
- hypershell-2.8.0/docs/_include/tls_cli_options.rst +30 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/api/client.rst +13 -1
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/api/cluster.rst +14 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/api/index.rst +2 -2
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/api/server.rst +13 -1
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/api/submit.rst +1 -0
- hypershell-2.8.0/docs/blog/20260705_2_8_0_release.rst +855 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/blog/index.rst +22 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/conf.py +4 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/index.rst +76 -16
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/install.rst +184 -24
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/logging.rst +164 -2
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/manual.rst +27 -2
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/roadmap.rst +1 -1
- hypershell-2.8.0/docs/security.rst +894 -0
- hypershell-2.8.0/pyproject.toml +146 -0
- hypershell-2.8.0/share/bash_completion.d/hs +735 -0
- hypershell-2.8.0/share/bash_completion.d/hsx +1 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/share/man/man1/hs.1 +731 -99
- {hypershell-2.7.2 → hypershell-2.8.0}/share/man/man1/hsx.1 +731 -99
- {hypershell-2.7.2 → hypershell-2.8.0}/share/man/man1/hyper-shell.1 +731 -99
- hypershell-2.8.0/share/zsh/site-functions/_hs +602 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/__init__.py +15 -10
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/client.py +472 -109
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/cluster/__init__.py +136 -67
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/cluster/local.py +73 -22
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/cluster/remote.py +194 -51
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/cluster/ssh.py +75 -22
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/config.py +5 -15
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/core/__init__.py +1 -1
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/core/config.py +100 -38
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/core/exceptions.py +1 -1
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/core/fsm.py +1 -1
- hypershell-2.8.0/src/hypershell/core/heartbeat.py +81 -0
- hypershell-2.8.0/src/hypershell/core/logging.py +838 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/core/platform.py +1 -1
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/core/pretty_print.py +6 -6
- hypershell-2.8.0/src/hypershell/core/queue.py +443 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/core/remote.py +1 -1
- hypershell-2.8.0/src/hypershell/core/resource.py +125 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/core/signal.py +16 -11
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/core/sys.py +1 -1
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/core/tag.py +5 -5
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/core/template.py +4 -3
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/core/thread.py +1 -1
- hypershell-2.8.0/src/hypershell/core/tls.py +466 -0
- hypershell-2.8.0/src/hypershell/core/types.py +118 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/core/uuid.py +1 -1
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/data/__init__.py +24 -21
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/data/core.py +47 -21
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/data/model.py +194 -58
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/server.py +322 -92
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/submit.py +258 -53
- {hypershell-2.7.2 → hypershell-2.8.0}/src/hypershell/task.py +133 -68
- {hypershell-2.7.2 → hypershell-2.8.0}/tests/__init__.py +3 -3
- hypershell-2.8.0/tests/conftest.py +56 -0
- hypershell-2.8.0/tests/test_autoscale.py +156 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/tests/test_cluster.py +66 -2
- {hypershell-2.7.2 → hypershell-2.8.0}/tests/test_data/__init__.py +1 -1
- {hypershell-2.7.2 → hypershell-2.8.0}/tests/test_data/test_core.py +1 -1
- {hypershell-2.7.2 → hypershell-2.8.0}/tests/test_data/test_model.py +1 -1
- hypershell-2.8.0/tests/test_groups.py +297 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/tests/test_initdb.py +1 -1
- hypershell-2.8.0/tests/test_logging.py +119 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/tests/test_main.py +1 -1
- hypershell-2.8.0/tests/test_queue_tls.py +572 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/tests/test_server.py +2 -1
- {hypershell-2.7.2 → hypershell-2.8.0}/tests/test_submit.py +4 -3
- hypershell-2.8.0/uv.lock +2017 -0
- hypershell-2.7.2/.dockerignore +0 -1
- hypershell-2.7.2/.github/FUNDING.yml +0 -12
- hypershell-2.7.2/.github/workflows/publish.yml +0 -19
- hypershell-2.7.2/.github/workflows/tests.yml +0 -24
- hypershell-2.7.2/.readthedocs.yaml +0 -16
- hypershell-2.7.2/Apptainer +0 -38
- hypershell-2.7.2/Dockerfile +0 -34
- hypershell-2.7.2/docs/_include/cluster_usage.rst +0 -6
- hypershell-2.7.2/docs/_include/server_usage.rst +0 -4
- hypershell-2.7.2/docs/_include/submit_help.rst +0 -56
- hypershell-2.7.2/docs/_include/submit_usage.rst +0 -2
- hypershell-2.7.2/docs/_include/task_info_help.rst +0 -26
- hypershell-2.7.2/docs/_include/task_info_usage.rst +0 -2
- hypershell-2.7.2/docs/_include/task_update_usage.rst +0 -9
- hypershell-2.7.2/pyproject.toml +0 -93
- hypershell-2.7.2/share/bash_completion.d/hs +0 -826
- hypershell-2.7.2/src/hypershell/core/heartbeat.py +0 -70
- hypershell-2.7.2/src/hypershell/core/logging.py +0 -201
- hypershell-2.7.2/src/hypershell/core/queue.py +0 -155
- hypershell-2.7.2/src/hypershell/core/types.py +0 -57
- hypershell-2.7.2/tests/conftest.py +0 -27
- hypershell-2.7.2/uv.lock +0 -1878
- {hypershell-2.7.2 → hypershell-2.8.0}/CODE_OF_CONDUCT.md +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/LICENSE +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/Makefile +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/citation.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/client_desc.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/cluster_desc.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/config_desc.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/config_edit_desc.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/config_edit_help.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/config_edit_usage.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/config_get_desc.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/config_get_help.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/config_get_usage.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/config_help.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/config_intro.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/config_intro_alt.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/config_pythonpath.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/config_set_desc.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/config_set_help.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/config_set_usage.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/config_site_vars.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/config_task_env.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/config_task_env_alt.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/config_usage.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/config_which_desc.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/config_which_help.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/config_which_usage.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/database_alt.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/desc.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/exit_status.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/initdb_desc.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/initdb_usage.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/server_desc.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/task_info_desc.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/task_run_desc.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/task_run_help.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/task_run_usage.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/task_search_desc.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/task_submit_desc.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/task_submit_help.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/task_submit_usage.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/task_update_desc.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/task_wait_desc.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/task_wait_help.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/task_wait_usage.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/templates.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_include/templates_alt.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_static/custom.css +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_static/logo-dark-mode.png +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/_static/logo-light-mode.png +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/api/data.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/blog/20230329_2_2_0_release.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/blog/20230413_2_3_0_release.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/blog/20230602_2_4_0_release.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/blog/20240518_2_5_0_release.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/blog/20240706_2_5_2_release.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/blog/20241115_2_6_0_release.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/blog/20241115_announce_logo.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/blog/20241231_2_6_1_release.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/blog/20250215_2_6_5_release.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/blog/20250405_2_6_6_release.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/blog/20250504_2_7_0_release.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/cli/client.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/cli/cluster.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/cli/config.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/cli/config_edit.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/cli/config_get.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/cli/config_set.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/cli/config_which.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/cli/index.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/cli/initdb.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/cli/server.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/cli/submit.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/cli/task_info.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/cli/task_run.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/cli/task_search.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/cli/task_submit.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/cli/task_update.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/cli/task_wait.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/config.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/database.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/getting_started.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/templates.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/tutorial/advanced.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/tutorial/basic.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/tutorial/distributed.rst +0 -0
- {hypershell-2.7.2 → hypershell-2.8.0}/docs/tutorial/hybrid.rst +0 -0
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hypershell
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.8.0
|
|
4
4
|
Summary: A cross-platform, high-throughput computing utility for processing shell commands over a distributed, asynchronous queue.
|
|
5
|
+
Project-URL: Homepage, https://hypershell.org
|
|
6
|
+
Project-URL: Documentation, https://hypershell.readthedocs.io
|
|
7
|
+
Project-URL: Repository, https://github.com/hypershell/hypershell
|
|
8
|
+
Project-URL: Issues, https://github.com/hypershell/hypershell/issues
|
|
5
9
|
Author-email: Geoffrey Lentner <glentner@purdue.edu>
|
|
6
10
|
License-Expression: Apache-2.0
|
|
7
11
|
License-File: LICENSE
|
|
@@ -11,24 +15,32 @@ Classifier: License :: OSI Approved :: Apache Software License
|
|
|
11
15
|
Classifier: Operating System :: MacOS
|
|
12
16
|
Classifier: Operating System :: Microsoft :: Windows
|
|
13
17
|
Classifier: Operating System :: POSIX :: Linux
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
15
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
16
18
|
Classifier: Programming Language :: Python :: 3.11
|
|
17
19
|
Classifier: Programming Language :: Python :: 3.12
|
|
18
20
|
Classifier: Programming Language :: Python :: 3.13
|
|
19
21
|
Classifier: Programming Language :: Python :: 3.14
|
|
20
22
|
Classifier: Topic :: Utilities
|
|
21
|
-
Requires-Python: >=3.
|
|
23
|
+
Requires-Python: >=3.11
|
|
22
24
|
Requires-Dist: cmdkit[toml]>=2.7.7
|
|
25
|
+
Requires-Dist: cryptography>=3.4
|
|
23
26
|
Requires-Dist: paramiko>=3.4.0
|
|
27
|
+
Requires-Dist: psutil>=7.0.0
|
|
24
28
|
Requires-Dist: pyyaml>=6.0.1
|
|
25
29
|
Requires-Dist: rich>=13.7.1
|
|
26
|
-
Requires-Dist: sqlalchemy>=2.0.
|
|
30
|
+
Requires-Dist: sqlalchemy>=2.0.50
|
|
27
31
|
Requires-Dist: tomlkit>=0.13.2
|
|
32
|
+
Provides-Extra: cron
|
|
33
|
+
Requires-Dist: croniter>=6.2.2; extra == 'cron'
|
|
28
34
|
Provides-Extra: postgres
|
|
29
|
-
Requires-Dist:
|
|
35
|
+
Requires-Dist: psycopg[binary]>=3.1; extra == 'postgres'
|
|
36
|
+
Provides-Extra: postgres-c
|
|
37
|
+
Requires-Dist: psycopg[c]>=3.1; extra == 'postgres-c'
|
|
38
|
+
Provides-Extra: postgres-system
|
|
39
|
+
Requires-Dist: psycopg>=3.1; extra == 'postgres-system'
|
|
30
40
|
Provides-Extra: uuid7
|
|
31
|
-
Requires-Dist: uuid-utils>=0.
|
|
41
|
+
Requires-Dist: uuid-utils>=0.16.0; extra == 'uuid7'
|
|
42
|
+
Provides-Extra: zstd
|
|
43
|
+
Requires-Dist: zstandard>=0.25.0; extra == 'zstd'
|
|
32
44
|
Description-Content-Type: text/x-rst
|
|
33
45
|
|
|
34
46
|
HyperShell v2: Distributed Task Execution for HPC
|
|
@@ -70,18 +82,36 @@ scalable workflow automation tool for *many-task* scenarios.
|
|
|
70
82
|
|
|
71
83
|
Built on Python and tested on Linux, macOS, and Windows.
|
|
72
84
|
|
|
73
|
-
|
|
74
|
-
the
|
|
85
|
+
Other tools may offer similar functionality in some places but not within a single tool and
|
|
86
|
+
not with the flexibility, ergonomics, and scalability provided by HyperShell.
|
|
75
87
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
* **Client-server:**
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
88
|
+
Design elements include but are not limited to:
|
|
89
|
+
|
|
90
|
+
* | **Client-server:** Run the server in stand-alone mode with SQLite or PostgreSQL.
|
|
91
|
+
| Scale clients elastically as needed (even down to zero).
|
|
92
|
+
* | **Cross-platform:** trivial to install, run on any platform where Python runs.
|
|
93
|
+
| Mix platforms within a running cluster (Server on Linux, Clients on Windows).
|
|
94
|
+
* | **Staggered launch:** Come up gradually to balance the workload.
|
|
95
|
+
| Scale to 1000+ nodes, 250k+ workers without crashing the server.
|
|
96
|
+
* | **Database in-the-loop:** persist task metadata across runs.
|
|
97
|
+
| Fault-tolerant by default. Automated retries. Task history.
|
|
98
|
+
* | **User-defined tags:** annotate tasks with ``key``:``value`` tags.
|
|
99
|
+
| Manage catalogs of large collections of tasks with ease.
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
Usage
|
|
103
|
+
-----
|
|
104
|
+
|
|
105
|
+
*HyperShell* is primarily a command-line program.
|
|
106
|
+
Most users will operate the ``hs cluster`` command (``hsx`` for short) in a start-to-finish workflow scenario much
|
|
107
|
+
like people tend to do with alternatives like ``xargs``, `GNU Parallel <https://gnu.org/software/parallel>`_,
|
|
108
|
+
or HPC-specific tools like `ParaFly <https://parafly.sourceforge.net>`_ or
|
|
109
|
+
`TaskFarmer <https://docs.nersc.gov/jobs/workflow/taskfarmer/>`_ (NERSC-only) or
|
|
110
|
+
`Launcher <https://tacc.utexas.edu/research/tacc-research/launcher/>`_ (TACC).
|
|
111
|
+
|
|
112
|
+
.. code-block:: shell
|
|
113
|
+
|
|
114
|
+
seq 1000000 | hsx -t 'echo {}' -N64 --ssh 'a[00-32].cluster' > task.out
|
|
85
115
|
|
|
86
116
|
|
|
87
117
|
Documentation
|
|
@@ -93,14 +123,28 @@ comprehensive usage guide on the command line you can view the manual page with
|
|
|
93
123
|
``man hs``.
|
|
94
124
|
|
|
95
125
|
|
|
96
|
-
Contributions
|
|
97
|
-
|
|
126
|
+
Support and Contributions
|
|
127
|
+
-------------------------
|
|
128
|
+
|
|
129
|
+
Join the `Discord <https://discord.gg/wmv5gyUfkN>`_ server to post questions, discuss your project,
|
|
130
|
+
share with the community, keep in touch with announcements and upcoming events!
|
|
131
|
+
|
|
132
|
+
*HyperShell* is an open-source project developed on `GitHub <https://github.com/hypershell/hypershell>`_.
|
|
133
|
+
If you find bugs or issues with the software please create an `Issue <https://github.com/hypershell/hypershell/issues>`_.
|
|
134
|
+
Contributions are welcome in the form of `Pull requests <https://github.com/hypershell/hypershell/pulls>`_
|
|
135
|
+
for bug fixes, documentation, and minor feature improvements.
|
|
98
136
|
|
|
99
|
-
Contributions are welcome. If you find bugs or have questions, open an *Issue* here.
|
|
100
137
|
We've added a Code of Conduct recently, adapted from the
|
|
101
138
|
`Contributor Covenant <https://www.contributor-covenant.org/>`_, version 2.0.
|
|
102
139
|
|
|
103
140
|
|
|
141
|
+
License
|
|
142
|
+
-------
|
|
143
|
+
|
|
144
|
+
*HyperShell* is released under the
|
|
145
|
+
`Apache Software License (v2) <https://www.apache.org/licenses/LICENSE-2.0>`_.
|
|
146
|
+
|
|
147
|
+
|
|
104
148
|
Citation
|
|
105
149
|
--------
|
|
106
150
|
|
|
@@ -37,18 +37,36 @@ scalable workflow automation tool for *many-task* scenarios.
|
|
|
37
37
|
|
|
38
38
|
Built on Python and tested on Linux, macOS, and Windows.
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
the
|
|
40
|
+
Other tools may offer similar functionality in some places but not within a single tool and
|
|
41
|
+
not with the flexibility, ergonomics, and scalability provided by HyperShell.
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
* **Client-server:**
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
43
|
+
Design elements include but are not limited to:
|
|
44
|
+
|
|
45
|
+
* | **Client-server:** Run the server in stand-alone mode with SQLite or PostgreSQL.
|
|
46
|
+
| Scale clients elastically as needed (even down to zero).
|
|
47
|
+
* | **Cross-platform:** trivial to install, run on any platform where Python runs.
|
|
48
|
+
| Mix platforms within a running cluster (Server on Linux, Clients on Windows).
|
|
49
|
+
* | **Staggered launch:** Come up gradually to balance the workload.
|
|
50
|
+
| Scale to 1000+ nodes, 250k+ workers without crashing the server.
|
|
51
|
+
* | **Database in-the-loop:** persist task metadata across runs.
|
|
52
|
+
| Fault-tolerant by default. Automated retries. Task history.
|
|
53
|
+
* | **User-defined tags:** annotate tasks with ``key``:``value`` tags.
|
|
54
|
+
| Manage catalogs of large collections of tasks with ease.
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
Usage
|
|
58
|
+
-----
|
|
59
|
+
|
|
60
|
+
*HyperShell* is primarily a command-line program.
|
|
61
|
+
Most users will operate the ``hs cluster`` command (``hsx`` for short) in a start-to-finish workflow scenario much
|
|
62
|
+
like people tend to do with alternatives like ``xargs``, `GNU Parallel <https://gnu.org/software/parallel>`_,
|
|
63
|
+
or HPC-specific tools like `ParaFly <https://parafly.sourceforge.net>`_ or
|
|
64
|
+
`TaskFarmer <https://docs.nersc.gov/jobs/workflow/taskfarmer/>`_ (NERSC-only) or
|
|
65
|
+
`Launcher <https://tacc.utexas.edu/research/tacc-research/launcher/>`_ (TACC).
|
|
66
|
+
|
|
67
|
+
.. code-block:: shell
|
|
68
|
+
|
|
69
|
+
seq 1000000 | hsx -t 'echo {}' -N64 --ssh 'a[00-32].cluster' > task.out
|
|
52
70
|
|
|
53
71
|
|
|
54
72
|
Documentation
|
|
@@ -60,14 +78,28 @@ comprehensive usage guide on the command line you can view the manual page with
|
|
|
60
78
|
``man hs``.
|
|
61
79
|
|
|
62
80
|
|
|
63
|
-
Contributions
|
|
64
|
-
|
|
81
|
+
Support and Contributions
|
|
82
|
+
-------------------------
|
|
83
|
+
|
|
84
|
+
Join the `Discord <https://discord.gg/wmv5gyUfkN>`_ server to post questions, discuss your project,
|
|
85
|
+
share with the community, keep in touch with announcements and upcoming events!
|
|
86
|
+
|
|
87
|
+
*HyperShell* is an open-source project developed on `GitHub <https://github.com/hypershell/hypershell>`_.
|
|
88
|
+
If you find bugs or issues with the software please create an `Issue <https://github.com/hypershell/hypershell/issues>`_.
|
|
89
|
+
Contributions are welcome in the form of `Pull requests <https://github.com/hypershell/hypershell/pulls>`_
|
|
90
|
+
for bug fixes, documentation, and minor feature improvements.
|
|
65
91
|
|
|
66
|
-
Contributions are welcome. If you find bugs or have questions, open an *Issue* here.
|
|
67
92
|
We've added a Code of Conduct recently, adapted from the
|
|
68
93
|
`Contributor Covenant <https://www.contributor-covenant.org/>`_, version 2.0.
|
|
69
94
|
|
|
70
95
|
|
|
96
|
+
License
|
|
97
|
+
-------
|
|
98
|
+
|
|
99
|
+
*HyperShell* is released under the
|
|
100
|
+
`Apache Software License (v2) <https://www.apache.org/licenses/LICENSE-2.0>`_.
|
|
101
|
+
|
|
102
|
+
|
|
71
103
|
Citation
|
|
72
104
|
--------
|
|
73
105
|
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
Options
|
|
2
2
|
^^^^^^^
|
|
3
3
|
|
|
4
|
-
``-N``, ``--num-
|
|
5
|
-
Number of task
|
|
4
|
+
``-N``, ``--num-threads`` *NUM*
|
|
5
|
+
Number of task executor threads (default: 1).
|
|
6
|
+
|
|
7
|
+
Set to 0 to auto-detect based on available CPU cores.
|
|
6
8
|
|
|
7
9
|
``-t``, ``--template`` *CMD*
|
|
8
10
|
Command-line template pattern (default: "{}").
|
|
@@ -20,7 +22,7 @@ Options
|
|
|
20
22
|
Using larger bundles is a good idea for large distributed workflows; specifically, it is best
|
|
21
23
|
to coordinate bundle size with the number of executors in use by each client.
|
|
22
24
|
|
|
23
|
-
See also ``--num-
|
|
25
|
+
See also ``--num-threads`` and ``--bundlewait``.
|
|
24
26
|
|
|
25
27
|
``-w``, ``--bundlewait`` *SEC*
|
|
26
28
|
Seconds to wait before flushing tasks (default: 5).
|
|
@@ -69,7 +71,7 @@ Options
|
|
|
69
71
|
``-e``, ``--errors`` *PATH*
|
|
70
72
|
File path for task errors (default: <stderr>).
|
|
71
73
|
|
|
72
|
-
|
|
74
|
+
``--capture``
|
|
73
75
|
Capture individual task <stdout> and <stderr>.
|
|
74
76
|
|
|
75
77
|
By default, the `stdout` and `stderr` streams of all tasks are fused with that of the `client`
|
|
@@ -77,23 +79,52 @@ Options
|
|
|
77
79
|
tasks need to manage their own output, you can specify a redirect as part of a ``--template``,
|
|
78
80
|
or use ``--capture`` to capture these as ``.out`` and ``.err`` files.
|
|
79
81
|
|
|
80
|
-
These are stored local to the `client` under `<
|
|
81
|
-
Task outputs can be automatically retrieved via SFTP, see
|
|
82
|
+
These are stored local to the `client` under `<site>/lib/task/<uuid>.[out,err]`.
|
|
83
|
+
Task outputs can be automatically retrieved via SFTP, see `hs info`.
|
|
82
84
|
|
|
83
85
|
Mutually exclusive with both ``--output`` and ``--errors``.
|
|
84
86
|
|
|
85
|
-
``--timeout`` *SEC*
|
|
87
|
+
``-T``, ``--timeout`` *SEC*
|
|
86
88
|
Timeout in seconds for client. Automatically shutdown if no tasks received (default: never).
|
|
87
89
|
|
|
88
90
|
This feature allows for gracefully scaling down a cluster when task throughput subsides.
|
|
89
91
|
|
|
90
92
|
|
|
91
|
-
``--task-timeout`` *SEC*
|
|
93
|
+
``-W``, ``--task-timeout`` *SEC*
|
|
92
94
|
Task-level walltime limit (default: none).
|
|
93
95
|
|
|
94
96
|
Executors will send a progression of SIGINT, SIGTERM, and SIGKILL.
|
|
95
97
|
If the process still persists the executor itself will shutdown.
|
|
96
98
|
|
|
99
|
+
``-C``, ``--client-cores`` *NUM*
|
|
100
|
+
Limit available cores for client (default: all cores).
|
|
101
|
+
|
|
102
|
+
Sets an upper bound on the number of CPU cores that the client can use.
|
|
103
|
+
This allows running multiple clients on the same node by partitioning resources.
|
|
104
|
+
The client will not execute tasks if doing so would exceed this limit.
|
|
105
|
+
|
|
106
|
+
See also ``--num-threads=0``.
|
|
107
|
+
|
|
108
|
+
``-M``, ``--client-memory`` *SIZE*
|
|
109
|
+
Limit available memory for client (default: all memory).
|
|
110
|
+
|
|
111
|
+
Sets an upper bound on the amount of memory that the client can use.
|
|
112
|
+
Specify memory size with units (e.g., '16GB', '4096MB'). This allows running
|
|
113
|
+
multiple clients on the same node by partitioning resources.
|
|
114
|
+
|
|
115
|
+
``--monitor``
|
|
116
|
+
Enable resource monitoring for tasks.
|
|
117
|
+
|
|
118
|
+
When enabled, the client will monitor CPU and memory usage of running tasks
|
|
119
|
+
and their child processes, reporting peak usage back to the server.
|
|
120
|
+
Time-series data is stored in CSV format alongside task outputs.
|
|
121
|
+
|
|
122
|
+
See also ``--capture``.
|
|
123
|
+
|
|
124
|
+
``-R``, ``--ratelimit`` *NUM*
|
|
125
|
+
Maximum allowed tasks per second per client. (default: none).
|
|
126
|
+
Individual tasks are throttled if exceeding this average limit.
|
|
127
|
+
|
|
97
128
|
``-S``, ``--signalwait`` *SEC*
|
|
98
129
|
Task-level signal escalation wait period in seconds (default: 10).
|
|
99
130
|
|
|
@@ -101,3 +132,5 @@ Options
|
|
|
101
132
|
this interval in seconds before escalating to the next level of interrupt.
|
|
102
133
|
|
|
103
134
|
See also ``--task-timeout``.
|
|
135
|
+
|
|
136
|
+
.. include:: /_include/tls_cli_options.rst
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
``hs`` ``client`` ``[-h]``
|
|
2
2
|
``[-N NUM]`` ``[-t TEMPLATE]`` ``[-b SIZE]`` ``[-w SEC]`` ``[-H ADDR]`` ``[-p PORT]``
|
|
3
3
|
``[-k KEY]`` ``[--capture | [-o PATH] [-e PATH]]`` ``[--no-confirm]``
|
|
4
|
-
``[-d SEC]`` ``[-T SEC]`` ``[-W SEC]`` ``[-S SEC]``
|
|
4
|
+
``[-d SEC]`` ``[-T SEC]`` ``[-W SEC]`` ``[-S SEC]`` ``[-R NUM]``
|
|
5
|
+
``[-C NUM]`` ``[-M MEM]`` ``[--monitor]``
|
|
6
|
+
``[--no-tls | [--tls-ca PATH] [--tls-cert PATH] [--tls-key PATH]]``
|
|
@@ -25,8 +25,10 @@ Modes
|
|
|
25
25
|
Options
|
|
26
26
|
^^^^^^^
|
|
27
27
|
|
|
28
|
-
``-N``, ``--num-
|
|
29
|
-
Number of
|
|
28
|
+
``-N``, ``--num-threads`` *NUM*
|
|
29
|
+
Number of executor threads per client (default: 1).
|
|
30
|
+
|
|
31
|
+
Set to 0 to auto-detect based on available CPU cores on each client.
|
|
30
32
|
|
|
31
33
|
For example, ``-N4`` would create four workers, but ``-N4 --ssh 'cluster-a[00-01].xyz'``
|
|
32
34
|
creates two clients and a total of eight workers.
|
|
@@ -41,7 +43,13 @@ Options
|
|
|
41
43
|
|
|
42
44
|
See section on `templates`.
|
|
43
45
|
|
|
44
|
-
``-
|
|
46
|
+
``-H``, ``--bind`` *ADDR*
|
|
47
|
+
Bind address (default: localhost, or 0.0.0.0 for remote clients).
|
|
48
|
+
|
|
49
|
+
Sets the address the server binds to. When launching clients on remote hosts
|
|
50
|
+
(``--ssh``, ``--mpi``, or ``--launcher``), bind to *0.0.0.0* so they can connect.
|
|
51
|
+
|
|
52
|
+
``-p``, ``--port`` *PORT*
|
|
45
53
|
Port number (default: 50001).
|
|
46
54
|
|
|
47
55
|
This is an arbitrary choice and simply must be an available port. The default option chosen
|
|
@@ -58,7 +66,7 @@ Options
|
|
|
58
66
|
Using larger bundles is a good idea for large distributed workflows; specifically, it is best
|
|
59
67
|
to coordinate bundle size with the number of executors in use by each client.
|
|
60
68
|
|
|
61
|
-
See also ``--num-
|
|
69
|
+
See also ``--num-threads`` and ``--bundlewait``.
|
|
62
70
|
|
|
63
71
|
``-w``, ``--bundlewait`` *SEC*
|
|
64
72
|
Seconds to wait before flushing tasks (default: 5).
|
|
@@ -69,6 +77,14 @@ Options
|
|
|
69
77
|
|
|
70
78
|
See also ``--bundlesize``.
|
|
71
79
|
|
|
80
|
+
``-Q``, ``--poll`` *NUM*
|
|
81
|
+
Polling interval in seconds between database queries if no tasks are available (default: 5).
|
|
82
|
+
|
|
83
|
+
This controls how frequently the scheduler checks the database for new tasks when idle.
|
|
84
|
+
Lower values (e.g., 1-2 seconds) provide faster responsiveness but may increase database
|
|
85
|
+
query load. Higher values (e.g., 10-30 seconds) reduce query frequency, useful for
|
|
86
|
+
workflows with infrequent task submission.
|
|
87
|
+
|
|
72
88
|
``-r``, ``--max-retries`` *NUM*
|
|
73
89
|
Auto-retry failed tasks (default: 0).
|
|
74
90
|
|
|
@@ -94,7 +110,7 @@ Options
|
|
|
94
110
|
``--initdb``
|
|
95
111
|
Auto-initialize database.
|
|
96
112
|
|
|
97
|
-
If a database is configured for use with the workflow (e.g.,
|
|
113
|
+
If a database is configured for use with the workflow (e.g., PostgreSQL), auto-initialize
|
|
98
114
|
tables if they don't already exist. This is a short-hand for pre-creating tables with the
|
|
99
115
|
``hs initdb`` command. This happens by default with SQLite databases.
|
|
100
116
|
|
|
@@ -162,7 +178,7 @@ Options
|
|
|
162
178
|
This also has the effect of staggering the workload. If your tasks take on the order of 30
|
|
163
179
|
minutes and you have 1000 nodes, choose ``--delay-start=-1800``.
|
|
164
180
|
|
|
165
|
-
|
|
181
|
+
``--capture``
|
|
166
182
|
Capture individual task <stdout> and <stderr>.
|
|
167
183
|
|
|
168
184
|
By default, the `stdout` and `stderr` streams of all tasks are fused with that of the `client`
|
|
@@ -170,8 +186,8 @@ Options
|
|
|
170
186
|
tasks need to manage their own output, you can specify a redirect as part of a ``--template``,
|
|
171
187
|
or use ``--capture`` to capture these as ``.out`` and ``.err`` files.
|
|
172
188
|
|
|
173
|
-
These are stored local to the `client
|
|
174
|
-
see
|
|
189
|
+
These are stored local to the `client` under `<prefix>/lib/task/<uuid>.[out,err]`.
|
|
190
|
+
Task outputs can be automatically retrieved via SFTP, see `info`.
|
|
175
191
|
|
|
176
192
|
``-o``, ``--output`` *PATH*
|
|
177
193
|
File path for task outputs (default: <stdout>).
|
|
@@ -195,8 +211,7 @@ Options
|
|
|
195
211
|
``-T``, ``--timeout`` *SEC*
|
|
196
212
|
Timeout in seconds for clients. Automatically shutdown if no tasks received (default: never).
|
|
197
213
|
|
|
198
|
-
This
|
|
199
|
-
scaling down a cluster when task throughput subsides.
|
|
214
|
+
This feature allows for gracefully scaling down a cluster when task throughput subsides.
|
|
200
215
|
|
|
201
216
|
``-W``, ``--task-timeout`` *SEC*
|
|
202
217
|
Task-level walltime limit (default: none).
|
|
@@ -204,6 +219,48 @@ Options
|
|
|
204
219
|
Executors will send a progression of SIGINT, SIGTERM, and SIGKILL.
|
|
205
220
|
If the process still persists the executor itself will shutdown.
|
|
206
221
|
|
|
222
|
+
``-c``, ``--cores`` *NUM*
|
|
223
|
+
Number of CPU cores required per task (default: none).
|
|
224
|
+
|
|
225
|
+
When specified, tasks will only be executed when the required number of cores
|
|
226
|
+
is available. Used with resource-aware scheduling and backfill.
|
|
227
|
+
|
|
228
|
+
``-m``, ``--memory`` *MEM*
|
|
229
|
+
Amount of memory required per task (default: none).
|
|
230
|
+
|
|
231
|
+
Specify memory size with units (e.g., '4GB', '512MB'). Tasks will only be
|
|
232
|
+
executed when the required memory is available. Used with resource-aware
|
|
233
|
+
scheduling and backfill.
|
|
234
|
+
|
|
235
|
+
``-C``, ``--client-cores`` *NUM*
|
|
236
|
+
Limit available cores per client (default: all cores).
|
|
237
|
+
|
|
238
|
+
Sets an upper bound on the number of CPU cores that each client can use.
|
|
239
|
+
This allows running multiple clients on the same node by partitioning resources.
|
|
240
|
+
Clients will not execute tasks if doing so would exceed this limit.
|
|
241
|
+
|
|
242
|
+
See also ``--num-threads=0``.
|
|
243
|
+
|
|
244
|
+
``-M``, ``--client-memory`` *MEM*
|
|
245
|
+
Limit available memory per client (default: all memory).
|
|
246
|
+
|
|
247
|
+
Sets an upper bound on the amount of memory that each client can use.
|
|
248
|
+
Specify memory size with units (e.g., '16GB', '4096MB'). This allows running
|
|
249
|
+
multiple clients on the same node by partitioning resources.
|
|
250
|
+
|
|
251
|
+
``--monitor``
|
|
252
|
+
Enable resource monitoring for tasks.
|
|
253
|
+
|
|
254
|
+
When enabled, clients will monitor CPU and memory usage of running tasks
|
|
255
|
+
and their child processes, reporting peak usage back to the server.
|
|
256
|
+
Time-series data is stored in CSV format alongside task outputs.
|
|
257
|
+
|
|
258
|
+
See also ``--capture``.
|
|
259
|
+
|
|
260
|
+
``-R``, ``--ratelimit`` *NUM*
|
|
261
|
+
Maximum allowed tasks per second per client. (default: none).
|
|
262
|
+
Individual tasks are throttled if exceeding this average limit.
|
|
263
|
+
|
|
207
264
|
``-S``, ``--signalwait`` *SEC*
|
|
208
265
|
Task-level signal escalation wait period in seconds (default: 10).
|
|
209
266
|
|
|
@@ -240,10 +297,15 @@ Options
|
|
|
240
297
|
This value expresses some multiple of the average task duration in seconds.
|
|
241
298
|
|
|
242
299
|
The autoscaler periodically checks ``toc / (factor x avg_duration)``, where
|
|
243
|
-
``toc`` is the estimated time of completion for
|
|
244
|
-
throughput of active clients. This ratio is referred to
|
|
245
|
-
it exceeds 1, the pressure is considered *high* and we
|
|
246
|
-
we are not already at the given ``--max-size`` of the
|
|
300
|
+
``toc`` is the estimated time of completion for remaining tasks in the active
|
|
301
|
+
*task group* given current throughput of active clients. This ratio is referred to
|
|
302
|
+
as *task pressure*, and if it exceeds 1, the pressure is considered *high* and we
|
|
303
|
+
will add another client if we are not already at the given ``--max-size`` of the
|
|
304
|
+
cluster.
|
|
305
|
+
|
|
306
|
+
Task pressure is relative to the active task group; tasks waiting in later groups
|
|
307
|
+
do not contribute. The scheduler only distributes tasks within the active group,
|
|
308
|
+
so scaling out for a future backlog would only create idle clients.
|
|
247
309
|
|
|
248
310
|
For example, if the average task length is 30 minutes, and we set ``--factor=2``, then if
|
|
249
311
|
the estimated time of completion of remaining tasks given currently connected executors
|
|
@@ -279,9 +341,11 @@ Options
|
|
|
279
341
|
Only valid with ``--autoscaling``.
|
|
280
342
|
|
|
281
343
|
``-Y``, ``--max-size`` *SIZE*
|
|
282
|
-
Maximum size of cluster (default:
|
|
344
|
+
Maximum size of cluster (default: 1).
|
|
283
345
|
|
|
284
346
|
For a *dynamic* autoscaling policy, this sets an upper limit on the number of launched
|
|
285
347
|
clients. When this number is reached, scaling stops regardless of task pressure.
|
|
286
348
|
|
|
287
349
|
Only valid with ``--autoscaling``.
|
|
350
|
+
|
|
351
|
+
.. include:: /_include/tls_cli_options.rst
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
``hs cluster [-h]`` ``[FILE | --restart | --forever]``
|
|
2
|
+
``[-N NUM]`` ``[-t CMD]`` ``[-b SIZE]`` ``[-w SEC]`` ``[-Q NUM]``
|
|
3
|
+
``[-H ADDR]`` ``[-p PORT]`` ``[-r NUM [--eager]]`` ``[-f PATH]`` ``[--capture | [-o PATH] [-e PATH]]``
|
|
4
|
+
``[--ssh [HOST... | --ssh-group NAME] [--env] | --mpi | --launcher=ARGS...]``
|
|
5
|
+
``[--no-db [--no-confirm] | --initdb]`` ``[-d SEC]`` ``[-T SEC]`` ``[-W SEC]`` ``[-S SEC]`` ``[-R NUM]``
|
|
6
|
+
``[-c NUM]`` ``[-m MEM]`` ``[-C NUM]`` ``[-M MEM]`` ``[--monitor]``
|
|
7
|
+
``[--autoscaling [MODE] [-P SEC] [-F VALUE] [-I NUM] [-X NUM] [-Y NUM]]``
|
|
8
|
+
``[--no-tls | [--tls-ca PATH] [--tls-cert PATH] [--tls-key PATH]]``
|