Tue, 03 Jun 2014
The gevent wsgi server is very easy to use from Python. I wrote a convenient wrapper which starts pyblosxom under gevent. This can be used to either serve your blog locally for testing or to serve the live system. The nice thing is that it doesn't require an extra apache or nginx server just to start serving it.
Full source code is located here.
The important piece:
from gevent import monkey; monkey.patch_all() from gevent.pool import Pool from gevent.pywsgi import WSGIServer from Pyblosxom import pyblosxom def start(host='127.0.0.1', port=8007, threads=8): pool = Pool(threads) application = pyblosxom.PyBlosxomWSGIApp() server = WSGIServer((host, port), application, spawn=pool) server.serve_forever()
Sat, 16 Nov 2013
The gevent wsgi server is one of the fastest out in the open. I switched part of my applications to it and everything worked fine after restarting the server and testing locally. Unfortunately my haproxy frontend loadbalancer is not able to see the new backend though. Turns out that gevent.wsgi does not support HTTP 1.0 which haproxy uses for health checking.
The simple solution is to use gevent.pywsgi. This has some performance penalty though.
An alternative might be (untested) to configure haproxy with HTTP 1.1 healthchecks:
option httpchk OPTIONS / 1.1