Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does uWSGI need to be restarted when Django code changes?

I'm working on a Django webapp that's running under nginx and uWSGI. When I deploy new Django code (e.g., settings.py), do I need to restart uWSGI? If so, why?

Background: I had a scenario where I updated settings.py and some other code and deployed it. I did not see the changes in the webapp behavior until I restarted uWSGI.

like image 858
Rob Bednark Avatar asked Feb 27 '13 20:02

Rob Bednark


1 Answers

Yes, you need to restart the uWSGI process.

Python keeps the compiled code in memory so it won't get re-read until the process restarts. The django development server (manage.py runserver) actively monitors files for changes, but that won't happen by default with other servers. If you want to enable automatic reloading in uWSGI, the touch-reload and py-auto-reload uWSGI arguments might help.

like image 87
Nathan Jhaveri Avatar answered Oct 11 '22 02:10

Nathan Jhaveri