Gunicorn kept restarting. The culprit was 8MB of JSON.

💻 💬

🩺 Summary

Flask 4 workers restart every 5-10 min silently. No crash log. 2h debug. JSON loaded in @app.before_request. Every request re-parsed 8MB.

📝 Details

Gunicorn watchdog saw memory growth assumed leak killed worker. Data never changed between requests.
Load at module level. Cache. Check not parsing 8MB per request.