Simple autoreload for wsgi python apps running in uWSGI
Mar 06, 2013
While developing, it's usefull to have uwsgi autoreload your application. In my case I rsync changed files to the server running uWSGI. But uWSGI only monitors the app configuration file, which generally doesn't change. In order to have your app auto-reload (like django does) you can switch to your app's base directory and execute:
[sourcecode language="bash"]
while true ; do
find . -name \*.py \ # for python
-newer /path/app.ini \ # if changed
-exec touch /path/app.ini \; \ # reload
-print # print
sleep 2
done
[/sourcecode]
Everytime you rsync
or scp
some python file to the server the -newer
predicate will turn true for this file and find
will touch
the configuration file (thereby making it newer than all the source files).