interface MultiNodeJobDefinitionProps
| Language | Type name |
|---|---|
.NET | Amazon.CDK.AWS.Batch.MultiNodeJobDefinitionProps |
Go | github.com/aws/aws-cdk-go/awscdk/v2/awsbatch#MultiNodeJobDefinitionProps |
Java | software.amazon.awscdk.services.batch.MultiNodeJobDefinitionProps |
Python | aws_cdk.aws_batch.MultiNodeJobDefinitionProps |
TypeScript (source) | aws-cdk-lib » aws_batch » MultiNodeJobDefinitionProps |
Props to configure a MultiNodeJobDefinition.
Example
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
| Name | Type | Description |
|---|---|---|
| containers? | Multi[] | The containers that this multinode job will run. |
| instance | Instance | The instance type that this job definition will run. |
| job | string | The name of this job definition. |
| main | number | The index of the main node in this job. |
| parameters? | { [string]: any } | The default parameters passed to the container These parameters can be referenced in the command that you give to the container. |
| propagate | boolean | Whether to propagate tags from the JobDefinition to the ECS task that Batch spawns. |
| retry | number | The number of times to retry a job. |
| retry | Retry[] | Defines the retry behavior for this job. |
| scheduling | number | The priority of this Job. |
| timeout? | Duration | The timeout time for jobs that are submitted with this job definition. |
containers?
Type:
Multi[]
(optional, default: none)
The containers that this multinode job will run.
instanceType?
Type:
Instance
(optional, default: optimal instance, selected by Batch)
The instance type that this job definition will run.
jobDefinitionName?
Type:
string
(optional, default: generated by CloudFormation)
The name of this job definition.
mainNode?
Type:
number
(optional, default: 0)
The index of the main node in this job.
The main node is responsible for orchestration.
parameters?
Type:
{ [string]: any }
(optional, default: none)
The default parameters passed to the container These parameters can be referenced in the command that you give to the container.
propagateTags?
Type:
boolean
(optional, default: false)
Whether to propagate tags from the JobDefinition to the ECS task that Batch spawns.
retryAttempts?
Type:
number
(optional, default: 1)
The number of times to retry a job.
The job is retried on failure the same number of attempts as the value.
retryStrategies?
Type:
Retry[]
(optional, default: no RetryStrategy)
Defines the retry behavior for this job.
schedulingPriority?
Type:
number
(optional, default: 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.
timeout?
Type:
Duration
(optional, default: no timeout)
The timeout time for jobs that are submitted with this job definition.
After the amount of time you specify passes, Batch terminates your jobs if they aren't finished.

.NET
Go
Java
Python
TypeScript (