使用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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e43c04065f51abccf76e3df56f7095005e54c829f9248874d514177acc649d7e |
|
MD5 | 7975bd7115a06766bbe62c85f9b86390 |
|
BLAKE2b-256 | 2e2b2a07ffec06a1e68fe3669bb8bce2b44874713d8dc2099764a02b2386d9e6 |