Support for maximum concurrency on SQS triggered functions
- Dominant language
- Python
- Stars
- 11.1k
- Forks
- 1k
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 2
Description
In January 2023. AWS supported adding maximum concurrency on SQS lambda trigger. Details can be found here
https://aws.amazon.com/blogs/compute/introducing-maximum-concurrency-of-aws-lambda-functions-when-using-amazon-sqs-as-an-event-source/
tldr: when SQS trigger has maximum concurrency set it will hold back messages from visibility after the max lambda concurrency specified is reached thus avoiding possible known DLQ behaviour.
Chalice supporting this would be really beneficial for a lot of flows with queues that are processing large batches of SQS messages
on on_sqs_message decorator
eg.
```
@app.on_sqs_message(queue='my-queue', batch_size=1, max_concurrency=20)
def handle_sqs_message(event):
```
Contributor guide
Research direction
Start at the on_sqs_message decorator and compare the requested max_concurrency option with the AWS SQS-triggered Lambda behavior described in the linked AWS blog. Done means the example configuration is supported and the resulting trigger enforces the configured maximum to avoid the stated visibility and DLQ behavior; the payload names no files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, python
- Domain
- backend, cloud
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100