Migrate from uWSGI to Gunicorn#3387
Conversation
- Replace uWSGI/uwsgitop with Gunicorn in project requirements. - Add Gunicorn configuration with 12 workers and 2 threads for high concurrency. - Update Nginx to use HTTP proxying instead of uWSGI protocol. - Refactor entrypoint with exec for proper signal handling. - Modernize healthchecks to use HTTP-based validation. - Retain 'uwsgi' service naming for backward compatibility.
|
Hi @mlodic |
|
hey!
|
|
Hi! |
8409949 to
9037fc6
Compare
Applied architectural refinements for Idea intelowlproject#9: - Dynamic worker calculation based on CPU cores for better resource utilization. - Switch to stdout/stderr logging for superior Docker observability. - Configure forwarded_allow_ips for accurate remote IP logging through Nginx. - Finalize L7 HTTP-based health checks.
|
you need to provide proof that the changes work, otherwise this PR won't be reviewed. |
|
Hi @mlodic,
InShot_20260309_162006711.mp4
InShot_20260309_162111003.mp4
InShot_20260309_162159194.mp4Everything seems to be running smoothly with the new architecture. Let me know if there’s anything else you’d like me to check!! |
|
thanks for providing the info. |
|
Thank you for the update, @mlodic. |
|
Hi @mlodic, just wanted to check if you'll be able to review this. Even if I'm not part of GSoC this year, I really want to keep contributing to the project and get this merged. Thanks! |
|
we flagged this as "keep-open", but unfortunately it will consider only after the GSoC period because the are no other maintainers as of now and I can't merge such an impactful change without proper testing. I have no time for this |
Description
This PR replaces the legacy uWSGI server with Gunicorn to modernize the WSGI layer. Gunicorn is easier to maintain and
better supported in modern container environments, and it provides better stability for the high-concurrency
workloads IntelOwl handles.
Type of change
Checklist
up-project-and-development-instance), it does these checks and adjustments on
your behalf.
the tests (new and old ones) gave 0 errors.
This PR Closes #3375