Skip to content
v2.274.0

MultiNodeJobDefinitionProps Struct ​

Props to configure a MultiNodeJobDefinition.

Example ​

ts
const multiNodeJob = new batch.MultiNodeJobDefinition(this, 'JobDefinition', {
  instanceType: ec2.InstanceType.of(ec2.InstanceClass.R4, ec2.InstanceSize.LARGE), // optional, omit to let Batch choose the type for you
  containers: [{
    container: new batch.EcsEc2ContainerDefinition(this, 'mainMPIContainer', {
      image: ecs.ContainerImage.fromRegistry('yourregsitry.com/yourMPIImage:latest'),
      cpu: 256,
      memory: cdk.Size.mebibytes(2048),
    }),
    startNode: 0,
    endNode: 5,
  }],
});
// convenience method
multiNodeJob.addContainer({
  startNode: 6,
  endNode: 10,
  container: new batch.EcsEc2ContainerDefinition(this, 'multiContainer', {
    image: ecs.ContainerImage.fromRegistry('amazon/amazon-ecs-sample'),
    cpu: 256,
    memory: cdk.Size.mebibytes(2048),
  }),
});

Properties ​

containersoptionalMultiNodeContainer[]containersoptionaltyping.List[MultiNodeContainer]containersoptionalList<MultiNodeContainer>ContainersoptionalMultiNodeContainer[]Containersoptional*[]MultiNodeContainer= none#
The containers that this multinode job will run.
instanceTypeoptionalInstanceTypeinstance_typeoptionalInstanceTypeinstanceTypeoptionalInstanceTypeInstanceTypeoptionalInstanceTypeInstanceTypeoptionalInstanceType#
The instance type that this job definition will run.

Default: optimal instance, selected by Batch

jobDefinitionNameoptionalstringjob_definition_nameoptionalstrjobDefinitionNameoptionalStringJobDefinitionNameoptionalstringJobDefinitionNameoptional*string#
The name of this job definition.

Default: generated by CloudFormation

mainNodeoptionalnumbermain_nodeoptionalint | floatmainNodeoptionalNumberMainNodeoptionaldoubleMainNodeoptional*float64= 0#
The index of the main node in this job.

The main node is responsible for orchestration.

parametersoptional{ [key: string]: any }parametersoptionaltyping.Mapping[str, Any]parametersoptionalMap<String, Object>ParametersoptionalIDictionary<string, object>Parametersoptional*map[string]interface{}= none#
The default parameters passed to the container These parameters can be referenced in the `command` that you give to the container.
propagateTagsoptionalbooleanpropagate_tagsoptionalboolpropagateTagsoptionalBooleanPropagateTagsoptionalboolPropagateTagsoptional*bool= false#
Whether to propagate tags from the JobDefinition to the ECS task that Batch spawns.
retryAttemptsoptionalnumberretry_attemptsoptionalint | floatretryAttemptsoptionalNumberRetryAttemptsoptionaldoubleRetryAttemptsoptional*float64= 1#
The number of times to retry a job.

The job is retried on failure the same number of attempts as the value.

retryStrategiesoptionalRetryStrategy[]retry_strategiesoptionaltyping.List[RetryStrategy]retryStrategiesoptionalList<RetryStrategy>RetryStrategiesoptionalRetryStrategy[]RetryStrategiesoptional*[]RetryStrategy#
Defines the retry behavior for this job.

Default: no RetryStrategy

schedulingPriorityoptionalnumberscheduling_priorityoptionalint | floatschedulingPriorityoptionalNumberSchedulingPriorityoptionaldoubleSchedulingPriorityoptional*float64= none#
The priority of this Job.

Only used in Fairshare Scheduling to decide which job to run first when there are multiple jobs with the same share identifier.

skipDeregisterOnUpdateoptionalbooleanskip_deregister_on_updateoptionalboolskipDeregisterOnUpdateoptionalBooleanSkipDeregisterOnUpdateoptionalboolSkipDeregisterOnUpdateoptional*bool#
Specifies whether the previous revision of the job definition is retained in an active status after UPDATE events for the resource.

Default: undefined - AWS Batch default is false

When the property is set to false, the previous revision of the job definition is de-registered after a new revision is created. When the property is set to true, the previous revision of the job definition is not de-registered.

timeoutoptionalDurationtimeoutoptionalDurationtimeoutoptionalDurationTimeoutoptionalDurationTimeoutoptionalDuration#
The timeout time for jobs that are submitted with this job definition.

Default: no timeout

After the amount of time you specify passes, Batch terminates your jobs if they aren't finished.