semvec/pypi-packages huggingface dataset:
ReloadWSGI 0.3
Robust WSGI auto-reloading for development.
License: MIT
Keywords: wsgi

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}