Developing a Quixote-Application. Changing a bit, maybe just 2 chars in a HTML Output ...
Possibilites: a) working with Apache / SCGI: reload the SCGI Server. Bah
b) working with CGIHTTPServer from the Python Standard lib. Works. But is very slow, and works quite different from Medusa and SCGi
c) working with Medusa Quick. Integrated. Easy to debug. But: Reloading of Medusa. Ctrl-Break, restart ... over and over again. Bah.
autoreload.py by Thomas Heller. Works like a charm. Great during development. I am not willing to try it in a production environment to empower long running processes.
I wonder why this autoreload.py is not more present; it would be a phantastic game for long ronning processes.
See also http://aspn.activestate.com/ASPN/Mail/Message/python-list/907945 -- there's a bug around line 95 that needs to be patched (a filename was getting calculated wrong). It's only two lines of code to change, though.
MikeWatkins: re SCGI, I prefer this route myself, using Dulcinea site management script its a simple site xyz scgi restart, which I plop on a button on my gnome task bar, located conveniently not far above my browser. Since testing generally means I'm using the mouse in the browser anyway, I don't find it an inconvenience. A simple click'll do! Check out Dulcinea, well worth the time to get it configured into your work environment, or the other way around
i found that the autoreload script doesn't reload .ptl and init.py files.
has anybody a solution?
actually i've solved the .ptl problem, but it seems too hackish to post.
I found autoreload in sitecustomize.py caused Python to core dump on python startup (2.4, built with GCC 3.4.2 on FreeBSD)
I've got a little Tkinter application that allows me to restart the Durus server or the Quixote application server with a button press. I used to have a mapping in my editor that restarted the application and that was even faster than pushing a button. I've never felt the need for auto reloading. I guess it helps to have a fast machine and also to lazy import modules (at least at the root directory of your Quixote app).
See this quixote-users thread for a few other ways to do it: