Reload on code changes¶
When developing a websockets server, you may run it locally to test changes. Unfortunately, whenever you want to try a new version of the code, you must stop the server and restart it, which slows down your development process.
Web frameworks such as Django or Flask provide a development server that reloads the application automatically when you make code changes. There is no such functionality in websockets because it’s designed for production rather than development.
However, you can achieve the same result easily.
Install watchdog with the
watchmedo shell utility:
$ pip install watchdog[watchmedo]
Run your server with
$ watchmedo auto-restart --pattern "*.py" --recursive --signal SIGTERM \ python app.py
This example assumes that the server is defined in a script called
Adapt it as necessary.