用于unix的wsgi http服务器

grainbows的Python项目详细描述


grainbow'green rainbows'是一个用于unix的wsgi http服务器,用于睡眠应用程序。它是基于Gunicorn的,但它的设计目的是处理那些期望长请求/响应时间和/或慢客户端的应用程序。对于其他应用程序,应该使用gunicorn,因为它更易于调试。

功能

  • WSGI
  • 设计
  • 构建在Gunicorn之上,继承其进程/套接字管理特性,如透明升级和python配置dsl。
  • 动态解码分块传输,允许上载进度通知或 基于流的http协议
  • 支持EventletGevent

应用程序

安装

grainbows要求python 2.x优于2.5。

从源安装:

$ python setup.py install

或者来自pypi:

$ easy_install -U grainbows

默认情况下,grainbrows使用Gunicorn仲裁器,因此您不会有任何好处。您需要安装EventletGevent才能使用并发功能。

做:

$ easy_install -U eventlet

如果要使用gevent,请将eventlet替换为gevent

用法

对于wsgi应用程序:

启动example application打包的grainbows:

$ cd /path/to/grainbows/examples/
$ grainbows websocket:app

然后继续http://localhost:8000查看结果。

note:默认情况下,配置设置为使用eventlet。如果要使用gevent进行测试,请编辑grainbrows.conf.py文件,并用use=“gevent”替换use=“eventlet”

模块test_keepalive:app指定完整的模块名和wsgi可调用。您可以用PYTHONPATH上可用的任何内容替换它,例如:

$ cd ~/
$ grainbows -c /path/to/configfile.py awesomeproject.wsgi.main:main_app

完整的命令行用法:

$ 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

对于Django应用程序,使用grainbrows_django命令行;对于Paste兼容的应用程序(PylonsTurboGears 2,…),使用grainbrows_paste。有关详细信息,请参见gunicorn网站上的usage页面。

配置文件

需要一个配置文件来设置特定的设置。可以找到一个例子here

use = "eventlet"
worker_connections = 1000

您还可以配置其他设置,有关详细信息,请参见Gunicorn configuration页。

开发

您可以在Github

上获取源
http://github.com/benoitc/grainbows/

把你的反馈发送到the tracker

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
jsf-java。安全NoSuchAlgorithmException:在jboss上部署时AES密钥生成器不可用   使用servlet与持久化java应用程序对话   java SPNEGO获取用户详细信息   如何向数组中的每个元素添加特定的数字?JAVA   佛教日历中的java JSpinner日期编辑器   tomcat6如何使用ip地址从另一台机器运行java动态web项目   向数据模型添加行时发生java ArrayIndexOutOfBoundsException   java奇怪的线程行为   java为什么程序没有显示任何输出?   具有弱值的java HashMap   java可以收集数据。不可修改地图是否保留原始地图?   java如何确定应用程序中的gccpu利用率?   带文本文件和比较索引的java摩尔斯电码   java第二个按钮没有响应   Maven LifecycleExecutionException java。util。ConcurrentModificationException帮助读取此堆栈跟踪/调试   java试图实现持有密钥绑定   运行时如何在Java程序中检索环境变量(外部修改)的修改值?   java可以在Gsheets数据验证下拉菜单中使用IF函数吗   java应该是抽象还是实现的一部分?