The app would use more than 1 GB of memory and generate errors when multiple requests happen at the same time. Is there a way in streamlit to queue all the web requests and prosecute them one-by-one?
Regarding your issue, Streamlit apps on Community Cloud have resource limits since it’s a free platform. If your app exceeds the allowed memory usage or if there’s a spike in traffic, you might experience errors.
Here are some workarounds:
Optimize your app: Before considering request queuing, consider optimizing your Streamlit app to use less memory:
Use smaller data structures.
Avoid keeping large datasets in memory, instead load them when required.
If needs be, you can use tools like memory-profiler to see where your app is consuming the most memory and try to optimize that portion of the code.
Hosting elsewhere: Another solution is to host your Streamlit app on platforms like AWS, GCP, or Heroku where you have more control over the infrastructure. With a platform like AWS, you could potentially use services like AWS Lambda to queue and manage requests.