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
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 :
And send your feedback on the tracker .
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file grainbows-0.1.3.tar.gz.
File metadata
- Download URL: grainbows-0.1.3.tar.gz
- Upload date:
- Size: 13.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d98da3ba2edd4e56989858c597625ee61cf31d79bc1961ff43996572cb350cd6
|
|
| MD5 |
d1c97f804a4e8be9dafde667104d38e5
|
|
| BLAKE2b-256 |
7c3dcd1f0fcb8c8ef66baab1ca532caefd8a321c7ca97335081e4268a254b4d8
|