Chaussette is a WSGI server. The particularity of Chaussette is that it can either bind a socket on a port like any other server does or run against already opened sockets.
That makes Chaussette the best companion to run a WSGI or Django stack under a process and socket manager, such as Circus.
Running:
chaussette
starts a very simple HTTP sample server on port 8080.
Starting a WSGI application using chaussette is simply a matter of calling:
chaussette examples.tornadoapp.wsgiapp
Chaussette can also serve tornado (non WSGI) application:
chaussette --backend tornado examples.tornadoapp.tornadoapp
The simple_chat example can be started as:
chaussette --backend socketio examples.simple_chat.chat.app
Note that the two previous examples are not backend agnostic, since they are not (pure) WSGI applications.
A flask based pure WSGI application can be started with most backends:
chaussette --backend gevent examples.flaskapp.app
In these examples, we start a standalone WSGI server, but the spirit of chaussette is to be managed by Circus, as described https://chaussette.readthedocs.io/en/latest/#using-chaussette-in-circus
- The full documentation is located at: https://chaussette.readthedocs.io
- You can reach us for any feedback, bug report, or to contribute, at https://github.com/circus-tent/chaussette
Chaussette has NO support for actually transferring the arguments captured (under arguments) to the webserver even though it appears exactly what it is intended for. This fork has been specifically tested with Waitress but the change should work for other backends as well. This fork assumes that those arguments (while still optional) are keyword arguments and then passes them in when creating the server.
- Fix gevent monkey patching (pull request #67).
- Add a "--graceful-timeout" option (for gevent-based backends).
- Fix the tornado backend so that it accepts tornado's WSGIApplication instaces.
- Update documentation.
- Improve example applications.