MultiNodeJobDefinitionProps Struct
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
containersoptionalMultiNodeContainer[]containersoptionaltyping.List[MultiNodeContainer]containersoptionalList<MultiNodeContainer>ContainersoptionalMultiNodeContainer[]Containersoptional*[]MultiNodeContainer= none#instanceTypeoptionalInstanceTypeinstance_typeoptionalInstanceTypeinstanceTypeoptionalInstanceTypeInstanceTypeoptionalInstanceTypeInstanceTypeoptionalInstanceType#Default: optimal instance, selected by Batch
jobDefinitionNameoptionalstringjob_definition_nameoptionalstrjobDefinitionNameoptionalStringJobDefinitionNameoptionalstringJobDefinitionNameoptional*string#Default: generated by CloudFormation
mainNodeoptionalnumbermain_nodeoptionalint | floatmainNodeoptionalNumberMainNodeoptionaldoubleMainNodeoptional*float64= 0#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#propagateTagsoptionalbooleanpropagate_tagsoptionalboolpropagateTagsoptionalBooleanPropagateTagsoptionalboolPropagateTagsoptional*bool= false#retryAttemptsoptionalnumberretry_attemptsoptionalint | floatretryAttemptsoptionalNumberRetryAttemptsoptionaldoubleRetryAttemptsoptional*float64= 1#The job is retried on failure the same number of attempts as the value.
retryStrategiesoptionalRetryStrategy[]retry_strategiesoptionaltyping.List[RetryStrategy]retryStrategiesoptionalList<RetryStrategy>RetryStrategiesoptionalRetryStrategy[]RetryStrategiesoptional*[]RetryStrategy#Default: no RetryStrategy
schedulingPriorityoptionalnumberscheduling_priorityoptionalint | floatschedulingPriorityoptionalNumberSchedulingPriorityoptionaldoubleSchedulingPriorityoptional*float64= none#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#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#Default: no timeout
After the amount of time you specify passes, Batch terminates your jobs if they aren't finished.