Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to kill uWSGI process

Tags:

uwsgi

So I have finally gotten nginx + uWSGI running successfully for my Django install

however the problem I am having now is when I make changes to the code I need to restart the uWSGI process to view my changes

I feel like I am running the correct command here (i am very new to linux as well btw):

uwsgi --stop /var/run/uwsgi.pid
uwsgi --reload /var/run/uwsgi.pid

I get no error when I run these commands however my old code is still what loads

I also know its not a coding issue because I ran my django app in its development server and everything ran fine

like image 786
tareq Avatar asked Jul 10 '13 22:07

tareq


1 Answers

The recommended way to signal reloading of application data is to use the --touch-reload option. Sample syntax on a .ini fine is:

touch-reload /var/run/uwsgi/app/myapp/reload

Where myappis your application name. /var/run/uwsgi/app is the recommended place for such files (could be anywhere). The reload file is an empty file whose timestamp is watched by uwsgi, whenever it changes (by, for example, using touch) uWSGI detects that change and restarts the corresponding uWSGI application instance.

So, whenever you update your code you should touch the file in order to update the in-memory version of the application. For example, on bash:

sudo touch /var/run/uwsgi/app/myapp/reload

Note --reload is an undocumented option on current uWSGI version.

like image 180
flaviodesousa Avatar answered Jan 02 '23 21:01

flaviodesousa