aws / aws/chalice

Support for maximum concurrency on SQS triggered functions

Open
#2,031 4 comments 3 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.