(aws-ecs-patterns): Configurable `stopTimeout` for Queue Processing Services
- Dominant language
- TypeScript
- Stars
- 12.9k
- Forks
- 4.6k
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 71
Description
### Describe the feature
The constructs `QueueProcessingFargateServiceProps` and `QueueProcessingEc2ServiceProps` provide no way to configure the [stopTimeout](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#other_container_definition_params) parameter for the container definitions that these constructs create.
### Use Case
The `stopTimeout` parameters is particularly important for queue processing services to ensure that the process has time to drain its in-progress tasks before stopping.
### Proposed Solution
`QueueProcessingServiceBaseProps` includes parameters used by each of these constructs to create a `ContainerDefinition`, and it would be an obvious place to add a `stopTimeout` parameter, so that users may configure this value.
### Other Information
_No response_
### Acknowledgements
- [X] I may be able to implement this feature request
- [ ] This feature might incur a breaking change
### CDK version used
2.87.0
### Environment details (OS name and version, etc.)
macOS 14.0, Node v20.8.0, openjdk version "17.0.8.1" 2023-08-24
Contributor guide
Research direction
Start by locating QueueProcessingServiceBaseProps and the QueueProcessingFargateServiceProps and QueueProcessingEc2ServiceProps constructs, then trace how they create ContainerDefinition instances. Confirm how a stopTimeout value should flow into both queue-processing services. Done means users can configure stopTimeout for the generated container definitions without changing existing behavior when it is omitted.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, typescript
- Domain
- cloud
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100