grainbows 0.1.3
WSGI HTTP Server for UNIX
grainbow 'Green Rainbows' is a WSGI HTTP Server for UNIX, for sleepy application. It's based on Gunicorn but it's designed to handle applications that expect long request/response times and/or slow clients. For other applications, you should use gunicorn, since it's easier to debug.
Features
Applications
- Websockets (see example), see the demo
- Reverse proxy implementation (with Restkit WSGI proxy)
- Comet
- Long Polling
- ...
Install
Grainbows requires Python 2.x superior to 2.5.
Install from sources:
$ python setup.py install
Or from Pypi:
$ easy_install -U grainbows
By default grainbows use Gunicorn arbiter, so you won't have any benefits. You need to install Eventlet or Gevent to use concurrency features.
do:
$ easy_install -U eventlet
Replace eventlet by gevent if you want to use gevent.
Usage
for WSGI application:
To launch the example application packaged with Grainbows:
$ cd /path/to/grainbows/examples/ $ grainbows websocket:app
and then go on http://localhost:8000 to see the result.
Note : by default the configuration is set to use eventlet. If you want to test with gevent, edit grainbows.conf.py file and replace use="eventlet" by use="gevent".
The module test_keepalive:app specifies the complete module name and WSGI callable. You can replace it with anything that is available on your PYTHONPATH like such:
$ cd ~/ $ grainbows -c /path/to/configfile.py awesomeproject.wsgi.main:main_app
Full command line usage:
$ grainbows --help
Usage: grainbows [OPTIONS] APP_MODULE
Options:
--use=USE method to use (eventlet, gevent)
-c CONFIG, --config=CONFIG
Config file. [none]
-b BIND, --bind=BIND Adress to listen on. Ex. 127.0.0.1:8000 or
unix:/tmp/gunicorn.sock
-w WORKERS, --workers=WORKERS
Number of workers to spawn. [1]
-p PIDFILE, --pid=PIDFILE
set the background PID FILE
-D, --daemon Run daemonized in the background.
-m UMASK, --umask=UMASK
Define umask of daemon process
-u USER, --user=USER Change worker user
-g GROUP, --group=GROUP
Change worker group
-n PROC_NAME, --name=PROC_NAME
Process name
--log-level=LOGLEVEL Log level below which to silence messages. [info]
--log-file=LOGFILE Log to a file. - equals stdout. [-]
-d, --debug Debug mode. only 1 worker.
--version show program's version number and exit
-h, --help show this help message and exit
For Django applications use the grainbows_django command line and for Paste compatible applications (Pylons, TurboGears 2, ...) use grainbows_paste. See the usage page on Gunicorn website for more information.
Configuration file
A configuration file is needed to setup Grainbows specific settings. An example can be found here
use = "eventlet" worker_connections = 1000
You can also configure other settings, see the Gunicorn configuration page for more details.
Development
You can get the source on Github :
http://github.com/benoitc/grainbows/
And send your feedback on the tracker .
| File | Type | Py Version | Uploaded on | Size | # downloads |
|---|---|---|---|---|---|
| grainbows-0.1.3.tar.gz (md5) | Source | 2010-03-16 | 12KB | 416 | |
- Author: Benoit Chesneau
- Home Page: http://github.com/benoitc/grainbows
- License: MIT
-
Categories
- Development Status :: 4 - Beta
- Environment :: Other Environment
- Intended Audience :: Developers
- License :: OSI Approved :: MIT License
- Operating System :: MacOS :: MacOS X
- Operating System :: POSIX
- Programming Language :: Python
- Topic :: Internet
- Topic :: Software Development :: Libraries :: Python Modules
- Topic :: Utilities
- Package Index Owner: benoitc
- DOAP record: grainbows-0.1.3.xml
