Robust WSGI auto-reloading for development.
Project description
Replacement for ‘paster serve –reload config.ini’.
Reload a WSGI application on source change. Keep the old code alive when the change has syntax errors. Never close the socket, never refuse a connection.
As of version 0.3, ReloadWSGI also supports reloading a server specified in the config file. This is appropriate for wsgi servers such as mongrel2_wsgi which are able to support two concurrent instances without stepping on each other’s network connection. Once ReloadWSGI confirms the second server can load without throwing e.g. a syntax error, the original server quits and Mongrel2’s automatic load balancing sends requests to the newer instance.
PID 4197 notifies us of a change in quux.py
quux.py changed; reloading... {'status': 'changed', 'pid': 4197}
Oh no! We accidentally typed “foobar” instead of “import foobar”!
Process Process-4: Traceback (most recent call last): ... File "quux.py", line 6, in <module> foobar NameError: name 'foobar' is not defined
Can we visit our site? YES!:
127.0.0.1 - - [03/Mar/2010 09:41:52] "GET /orders HTTP/1.1" 200 2345
PID 4197 notifies us of /another/ change in quux.py
quux.py changed; reloading... {'status': 'changed', 'pid': 4197}
We’ve fixed our problem. Once the new process loads, the old process quits silently
09:42:39,789 DEBUG [quux.run] App started. {'status': 'loaded', 'pid': 4354}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file ReloadWSGI-0.3.tar.gz
.
File metadata
- Download URL: ReloadWSGI-0.3.tar.gz
- Upload date:
- Size: 3.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79a1bf40ae54bb817f9f9746ef0b562c9cdb44366a831df5ab3f68e02c9b3f0f |
|
MD5 | b42dc369ff834f23bda19d5a0349bdf5 |
|
BLAKE2b-256 | 76bde094f3cf548b6d75a1ad992a1cf656f081904666446c6ca30f13697cf98b |