job:create#

Create a new job.

Every value is passed as an option. If you omit an option required to create the job, you will be prompted for that option. Pass --no-interaction to suppress the prompts, in which case you must pass every required option at the command line.

Usage

horizon job:create [options]

Examples

# Run CONVERGE on a VM-AMD node with 30 cores and 132 GB of memory
horizon job:create --no-interaction --name="My job" --project="Default Project" \
    --storage="My file system" --storage-path="cases/case1" --app="converge" \
    --app-version="6.0.1" --node="VM-AMD" --flex-cores=30 --flex-memory=132 \
    --time-limit=10

# Run CONVERGE on 5 BM-INTEL-ICELAKE-36 nodes from a space, keeping only .out and .log files
horizon job:create --no-interaction --name="My job" --project="Default Project" \
    --storage-type="space" --storage="My Space" --storage-path="/my/case/dir/" \
    --app="converge" --app-version="6.0.1" --node="BM-INTEL-ICELAKE-36" --nodes-count=5 \
    --time-limit=24 --output-includes="*.out,*.log"

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

# Write horizon.json for the options given, without submitting the job
horizon job:create --dump --name="My job" --project="Default Project"

Options

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

--app=APP

The application to run (default: converge). Run application:list for the available applications and their versions.

--app-args=APP_ARGS

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

--app-version=APP_VERSION

The application version to run, in MAJOR.MINOR.PATCH format.

--batch=BATCH_ID

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

--cli=CLI

Raw command-line arguments to pass to the run script. Refer to Advanced Options > Custom Commands to Run Instead of Default Snippet.

--compress

Compress output files before they are uploaded to the space. Applies only if the job files are stored in a space.

--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.

--coupling=COUPLING

The coupled application to run alongside the primary application (example: --coupling="gtsuite").

--coupling-args=COUPLING_ARGS

Command-line arguments to pass to the coupled application.

--coupling-license=COUPLING_LICENSE

The license server for the coupled application, in port@hostname format.

--coupling-version=COUPLING_VERSION

The version of the coupled application.

--dump, -D

Write a horizon.json file for the given options and exit without submitting the job.

--executable=EXECUTABLE

File name (including extension) of a custom executable that you have uploaded to the case directory.

--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 the horizon.json file in the current directory for input. All other options are ignored except --project, which overrides the project recorded in the file.

--interactive

Run the job in interactive mode.

--license-server=LICENSE_SERVER

Custom license server to use for a self-hosted license, in port@hostname format.

--license-type=LICENSE_TYPE

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

--name=NAME

The name of the job.

--no-stop-if-stuck

Do NOT stop the job automatically if it becomes stuck. Use this option to override the default behavior described under --stop-if-stuck.

--node=NODE

ID or name of the node type that will be used to run the job. Run node:list for a list of available node types.

--nodes-count=NODES_COUNT

The number of nodes to allocate to the job (default: 1). Applies only to node types that support multi-node jobs.

--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 the job files are stored in a space. 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 the job files are stored in a space. Refer to Output > Include Output for details.

--project=PROJECT

ID or name of the project to associate with the job. Run project:list for a list of project names and IDs.

--stop-if-stuck

Stop the job automatically if it becomes stuck. This is the default behavior, so you need this option only if you want to state it explicitly. If you do not want to stop the job automatically if it becomes stuck, pass --no-stop-if-stuck instead.

--storage=STORAGE

ID or name of the file system or space containing the input files. Run filesystem:list or space:list for a list of names and IDs.

--storage-path=STORAGE_PATH

The path to the directory that contains the input files (e.g., cases/case1).

--storage-type=STORAGE_TYPE

The type of storage used for the input files: filesystem (default) or space.

--time-limit=TIME_LIMIT

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

--time-limit-queue=TIME_LIMIT_QUEUE

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