跳转到主要内容

使用Redis或Django模型实现的Ghetto Queue。

项目描述

版本:
0.4.5

简介

ghettoq是一个ghetto队列框架,用于为carrot实现Redis、MongoDB、Beanstalk、CouchDB和Django数据库支持

安装

您可以通过Python包索引(PyPI)或源代码安装ghettoq。

要使用pip安装,

$ pip install ghettoq

要使用easy_install安装,

$ easy_install ghettoq

如果您已下载源代码包,可以通过以下方式安装:

$ python setup.py build
# python setup.py install # as root

示例

>>> from ghettoq.simple import Connection
>>> import simplejson
>>> conn = Connection("redis", host="localhost", database=1)
>>> # Publishing messages
>>> q = conn.Queue("tasks")
>>> payload = {"name": "George Constanza"}
>>> q.put(simplejson.dumps(payload))
>>> # Consuming messages
>>> message = q.get()
>>> simplejson.loads(message)
{"name": "George Constanza"}

# 空队列引发ghettoq.messaging.Empty >>> q.get() Empty

使用Django数据库支持

如果已配置设置,则无需指定任何连接选项。

>>> from ghettoq.simple import Connection
>>> conn = Connection("database")
>>> queue = conn.Queue(name="tasks")
>>> queue.put("To whom it may concern")
>>> queue.get()
"To whom it may concern"

使用MongoDB支持

如果已配置设置,则无需指定任何连接选项。使用的设置属性包括

  • BROKER_HOST: ‘127.0.0.1’(未设置时)

  • BROKER_PORT: 27017(未设置时)

  • BROKER_VHOST(数据库名称): ‘ghettoq’(未设置时)

  • 集合名称: “messages”… 应添加对BROKER_COL设置变量的支持吗?

    >>> from ghettoq.simple import Connection
    
    >>> conn = Connection("mongodb")
    >>> queue = conn.Queue(name="tasks")
    >>> queue.put("To whom it may concern")
    >>> queue.get()
    "To whom it may concern"
    

使用Beanstalk支持

需要beanstalkc Python库。如果已配置设置,则无需指定任何连接选项。使用的设置属性包括

  • BROKER_HOST: ‘localhost’(未设置时)

  • BROKER_PORT: 11300(未设置时)

  • BROKER_VHOST: ‘ghettoq’(未设置时)

    >>> from ghettoq.simple import Connection
    
    >>> conn = Connection("beanstalk")
    >>> queue = conn.Queue(name="tasks")
    >>> queue.put("To whom it may concern")
    >>> queue.get()
    "To whom it may concern"
    

Beanstalk还支持优先级。优先级较低的作业先于优先级较高的作业执行。此数字默认为0,范围从0到2**32 - 1。

>>> queue.put("spam", priority=3)
>>> queue.get()
"spam"

使用CouchDB支持

如果已配置设置,则无需指定任何连接选项。使用的设置属性包括

  • BROKER_HOST: ‘127.0.0.1’(未设置时)

  • BROKER_PORT: 5984(未设置时)

  • BROKER_VHOST(数据库名称): ‘ghettoq’(未设置时)

  • 视图名称:"ghettoq/messages"

    >>> from ghettoq.simple import Connection
    
    >>> conn = Connection("couchdb")
    >>> queue = conn.Queue(name="tasks")
    >>> queue.put("To whom it may concern")
    >>> queue.get()
    "To whom it may concern"
    

CouchDB后端需要CouchDB Python模块。

许可证

本软件依据《新BSD许可证》授权。完整许可证文本请参阅顶级发行目录中的《LICENSE》文件。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源码发行版

ghettoq-0.4.5.tar.gz (21.3 kB 查看哈希值)

上传时间 源码

由以下支持