WSGI HTTP Server for UNIX
Project description
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 .
Project details
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.1.tar.gz
.
File metadata
- Download URL: grainbows-0.1.1.tar.gz
- Upload date:
- Size: 8.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bbe19b0cbae8cb7925f102682a123b0ad9c07f373b21d43267f160743cb429ce |
|
MD5 | a7e2c67af8ccce4fbaa95238289fb3b7 |
|
BLAKE2b-256 | 54bbdf4dbbd102ba8b173d8e8c886d4af23960bb957e374b0ef57c5125f2d63d |