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 .
Release files for grainbows 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| grainbows-0.1.3.tar.gz | 13.0 kB | Details |
Release files / grainbows-0.1.3.tar.gz
| Download URL | grainbows-0.1.3.tar.gz |
|---|---|
| Size | 13.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d98da3ba2edd4e56989858c597625ee61cf31d79bc1961ff43996572cb350cd6
|
|
BLAKE2b-256 checksum How to use checksums |
7c3dcd1f0fcb8c8ef66baab1ca532caefd8a321c7ca97335081e4268a254b4d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |