job:create

Create a new job.

By default, you will be prompted for the <storage_type> even if you specify this argument at the command line. Pass the --no-interaction option to avoid this prompt.

Usage

horizon job:create [options] <name> <project> <storage> <storage_path> <app> <app_version> <node> <time_limit_app> <storage_type>

Examples

# Run CONVERGE on a VM-AMD-GENOA-FLEX node with 12 cores and 60 GB of memory
horizon job:create --no-interaction --flex_cores=12 --flex_memory=60 "My job" "Default Project" "My file system" "/my/case/dir/" converge 5.0.2 VM-AMD-GENOA-FLEX 10 "filesystem"

# Create a job from a horizon.json file in current working directory
horizon job:create --horizon

# Run CONVERGE on 3-5 BM-INTEL-ICELAKE-36 nodes, keeping only .out and .log files
horizon job:create --no-interaction --node_target=5 --node_minimum=3 --output_includes='*.out,*.log' "My job" "Default Project" "My space" "/my/case/dir/" converge 5.0.2 BM-INTEL-ICELAKE-36 24 "space"

Arguments

<name>

The name of the job.

<project>

The name or ID of the project to associate with the job (you can get a list of project names and IDs with project:list).

<storage>

The name or ID of the file system or space containing the input files (you can get a list of names and IDs with filesystem:list or space:list).

<storage_path>

The path to the directory that contains the input files.

For file systems, specify the path as described here.

For spaces, specify the path relative to the root directory. You can copy this path from the CONVERGE Horizon web interface by navigating to the space directory and clicking the Copy (cli-copy-button) button.

<app>

The application to run (default: CONVERGE).

<app_version>

The application version to run (in MAJOR.MINOR.PATCH format).

<node>

The node type that will be used to run the job.

<time_limit_app>

The maximum number of hours that the application can run before it is stopped automatically.

<storage_type>

The type of storage used for the input files (“filesystem” or “space”). The default value is “space”.

Options

This command supports the general CLI options in addition to those listed below.

--app_args=APP_ARGS

Command-line arguments to pass to the application (example: --app_args="-u check_inputs").

--batch_id=BATCH_ID

Add the job to the batch with the specified BATCH_ID (example: --batch_id="pyi2zub057rp").

--compress

Compress output files before they are uploaded to the space (applies only if you are using a space for storage).

--cores_per_node=CORES_PER_NODE

The number of cores per node. CORES_PER_NODE can range from 1 to the total number of cores per node for the selected node type.

--dump, -D

Create a horizon.json file and exit without submitting the job.

--executable=EXECUTABLE

File name (including extension) of a custom executable.

--flex_cores=FLEX_CORES

The number of cores that will be allocated to the virtual machine (applies only to VM node types).

--flex_memory=FLEX_MEMORY

The amount of memory (in GB) that will be allocated to the virtual machine (applies only to VM node types).

--horizon, -H

Use a horizon.json file for input instead of specifying arguments at the command line.

--interactive

Run the job in interactive mode.

--license_server=LICENSE_SERVER

Custom RLM license server to use for a self-hosted license.

--license_type=LICENSE_TYPE

The type of license that will be used to run the job. LICENSE_TYPE can be on-demand, horizon-hosted, or self-hosted.

--node_target=NODE_TARGET

The target number of nodes that you want for the job.

--node_minimum=NODE_MINIMUM

The minimum number of nodes that can be used to run the job if the target number is not available.

--output_excludes=OUTPUT_EXCLUDES

Do NOT save output files with paths matching the pattern(s) specified in OUTPUT_EXCLUDES (example: --output_excludes='*.h5'). Applies only if you are using a space for storage. Refer to Output > Exclude Output for details.

--output_includes=OUTPUT_INCLUDES

Save ONLY the output files with paths matching the pattern(s) specified in OUTPUT_INCLUDES (example: --output_includes='*.out,*.log'). Applies only if you are using a space for storage. Refer to Output > Include Output for details.

--time_limit_queue=TIME_LIMIT_QUEUE

The maximum queue time for the job in hours (default: 24, maximum: 168).