Rob Bednark
Rob Bednark

Reputation: 28142

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.

Upvotes: 12

Views: 5188

Answers (1)

Nathan Jhaveri
Nathan Jhaveri

Reputation: 1864

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.

Upvotes: 18

Related Questions