Why do I get 'Concurrency limit reached for the feature FUNCTIONS' (TOO_MANY_REQUESTS) when many users call my function?
This happens when more executions of your Catalyst Serverless functions run at the same moment than the concurrency limit allows. Catalyst refuses the extra requests with HTTP 429 instead of queuing them. The limit counts executions in progress, not requests per day, so a function that waits on a slow external API reaches it with fewer users.
- Make each execution shorter. Move slow or heavy work into a Job function, where jobs wait in a Job Pool instead of being refused.
- Retry 429 responses in the client after a short delay that grows with each attempt.
- For sustained traffic with many simultaneous requests, consider Catalyst AppSail. Each AppSail instance serves up to 100 concurrent requests, and a service runs up to 5 instances by default.
- If your expected peak is still above the limit, contact Catalyst support before your launch with the environment, the function names, your expected peak number of simultaneous requests and the average execution time.
Note: The limit is lower in the Development environment than in the Production environment.
Refer to the Error Codes help page and the AppSail Basics help page for details.
Updated
Yes
No
Send your feedback to us
Skip
Submit
Ask AI about this answer