CustomReason Struct
The corresponding Action will only be taken if all of the conditions specified here are met.
Example
ts
const jobDefn = new batch.EcsJobDefinition(this, 'JobDefn', {
container: new batch.EcsEc2ContainerDefinition(this, 'containerDefn', {
image: ecs.ContainerImage.fromRegistry('public.ecr.aws/amazonlinux/amazonlinux:latest'),
memory: cdk.Size.mebibytes(2048),
cpu: 256,
}),
retryAttempts: 5,
retryStrategies: [
batch.RetryStrategy.of(batch.Action.EXIT, batch.Reason.CANNOT_PULL_CONTAINER),
],
});
jobDefn.addRetryStrategy(
batch.RetryStrategy.of(batch.Action.EXIT, batch.Reason.SPOT_INSTANCE_RECLAIMED),
);
jobDefn.addRetryStrategy(
batch.RetryStrategy.of(batch.Action.EXIT, batch.Reason.CANNOT_PULL_CONTAINER),
);
jobDefn.addRetryStrategy(
batch.RetryStrategy.of(batch.Action.EXIT, batch.Reason.custom({
onExitCode: '40*',
onReason: 'some reason',
})),
);
Properties
onExitCodeoptionalstringon_exit_codeoptionalstronExitCodeoptionalStringOnExitCodeoptionalstringOnExitCodeoptional*string#A glob string that will match on the job exit code.
Default: will not match on the exit code
For example, '40*' will match 400, 404, 40123456789012
onReasonoptionalstringon_reasonoptionalstronReasonoptionalStringOnReasonoptionalstringOnReasonoptional*string#A glob string that will match on the reason returned by the exiting job For example, `'CannotPullContainerError*'` indicates that container needed to start the job could not be pulled.
Default: will not match on the reason
onStatusReasonoptionalstringon_status_reasonoptionalstronStatusReasonoptionalStringOnStatusReasonoptionalstringOnStatusReasonoptional*string#A glob string that will match on the statusReason returned by the exiting job.
Default: will not match on the status reason
For example, 'Host EC2*' indicates that the spot instance has been reclaimed.