A file monitor and server restarter.
Use this like:
..code-block:: Python
import reloader reloader.install()
Then make sure your server is installed with a shell script like:
err=3
while test "$err" -eq 3 ; do
python server.py
err="$?"
done
or is run from this .bat file (if you use Windows):
@echo off
:repeat
python server.py
if %errorlevel% == 3 goto repeat
or run a monitoring process in Python (paster serve --reload does this). Use the watch_file(filename) function to cause a reload/restart for other other non-Python files (e.g., configuration files).
Install the reloading monitor.
On some platforms server threads may not terminate when the main thread does, causing ports to remain open/locked. The raise_keyboard_interrupt option creates a unignorable signal which causes the whole application to shut-down (rudely).