hpcflow.sdk.submission.shells.base.Shell#
- class hpcflow.sdk.submission.shells.base.Shell(executable=None, os_args=None)#
Bases:
ABC
Class to represent a shell and templates for jobscript composition.
This class represents a combination of a shell and an OS. For example, running bash on a POSIX OS, and provides snippets that are used to compose a jobscript for that combination.
- Parameters:
Methods
Format a loop check.
Format instructions to save a parameter.
Format a stream assignment.
Get the command for submitting a non-scheduled jobscript.
Get shell and operating system information.
Get the command to wait for a workflow.
Prepare the jobscript path for use.
Prepare the element run directory names for use.
Process the application invocation key in the jobscript header arguments.
Perform any post-processing of an application invocation command name.
Format commands to run within a child scope.
Attributes
Arguments to pass to the shell.
The executable to use plus any mandatory arguments.
The executable to use in a shebang line.
File extension for jobscripts.
Default for executable name.
Indent for environment setup.
Template for the jobscript shebang line.
Template for the common part of the jobscript header.
Template for the jobscript header when scheduled.
Template for the jobscript header when directly executed.
Template for the jobscript body.
Template for the array handling code in a jobscript.
Template for the element processing loop in a jobscript.
Basic indent.
- abstract format_loop_check(workflow_app_alias, loop_name, run_ID)#
Format a loop check.
- abstract format_save_parameter(workflow_app_alias, param_name, shell_var_name, EAR_ID, cmd_idx, stderr)#
Format instructions to save a parameter.
- abstract format_stream_assignment(shell_var_name, command)#
Format a stream assignment.
- get_direct_submit_command(js_path)#
Get the command for submitting a non-scheduled jobscript.
- abstract get_version_info(exclude_os=False)#
Get shell and operating system information.
- Parameters:
exclude_os (bool) –
- Return type:
VersionInfo
- get_wait_command(workflow_app_alias, sub_idx, deps)#
Get the command to wait for a workflow.
- os_args#
Arguments to pass to the shell.
- prepare_JS_path(js_path)#
Prepare the jobscript path for use.
- Parameters:
js_path (Path) –
- Return type:
- prepare_element_run_dirs(run_dirs)#
Prepare the element run directory names for use.
- process_JS_header_args(header_args)#
Process the application invocation key in the jobscript header arguments.
- Parameters:
header_args (JobscriptHeaderArgs) –
- Return type:
- static process_app_invoc_executable(app_invoc_exe)#
Perform any post-processing of an application invocation command name.