使用amazon sqs和boto的简单队列服务
pysqes的Python项目详细描述
pysqes
==
*使用sqs和boto为python提供简单的队列服务。*
…图片::https://travis ci.org/sauramirez/pysqes.png
:alt:build status
:target:https://travis ci.org/sauramirez/pysqes
用法
==
为了创建任务,可以使用sqstask类创建一个实例,该实例包含一个函数装饰器,运行delay方法时可以将其发送到队列将添加到函数中。delay函数接受工人在实际执行任务时使用的参数。代码块::python
from boto.sqs.connection import sqsconnection
from pysqes.task import task
conn=sqsconnection('access_key','secret_key')
queue=queue(conn,'pysqes_test',backend=backend)
def add(a,b):
return a+b
queue.enqueue(add,1,2)
您可以使用
sqsworker类中包含的工作方法来运行任务,您只需创建一个工作实例即可。
。代码块::python
from boto.sqs.connection import sqsconnection
from pysqes.runners.gevent_runner import geventrunner
from pysqes.worker import worker
conn=sqsconnection('access_key','secret_key')
runner=geventrunner()
queue=queue(conn,'pysqes_test',backend=backend)
worker=worker(queue,runner=runner)
可以通过在命令行中使用gevent标志
,并设置希望运行
的线程数。
注意:它只在gevent 1.0中测试过
命令行脚本
=
pysqes现在带有命令行脚本。worker命令将是此版本唯一可用的
,但task和peek命令可能会达到0.3。
代码块::bash
pysqes worker--gevent--workerpath=/home/user/pysqesproj/--config=pysqesconfig--configpath=/home/user/pysqesproj/settings/
如果您使用的是python 2.7,那么可以通过使用unittest模块中包含的新发现运行程序来运行单元测试:
。代码块::bash
python-m unit test discover-s测试
或者您可以单独运行每个单元测试。
0.3
===
*新的命令行脚本。
*测试命令行脚本。
*更好的日志记录。
==
*使用sqs和boto为python提供简单的队列服务。*
…图片::https://travis ci.org/sauramirez/pysqes.png
:alt:build status
:target:https://travis ci.org/sauramirez/pysqes
用法
==
为了创建任务,可以使用sqstask类创建一个实例,该实例包含一个函数装饰器,运行delay方法时可以将其发送到队列将添加到函数中。delay函数接受工人在实际执行任务时使用的参数。代码块::python
from boto.sqs.connection import sqsconnection
from pysqes.task import task
conn=sqsconnection('access_key','secret_key')
queue=queue(conn,'pysqes_test',backend=backend)
def add(a,b):
return a+b
queue.enqueue(add,1,2)
您可以使用
sqsworker类中包含的工作方法来运行任务,您只需创建一个工作实例即可。
。代码块::python
from boto.sqs.connection import sqsconnection
from pysqes.runners.gevent_runner import geventrunner
from pysqes.worker import worker
conn=sqsconnection('access_key','secret_key')
runner=geventrunner()
queue=queue(conn,'pysqes_test',backend=backend)
worker=worker(queue,runner=runner)
可以通过在命令行中使用gevent标志
,并设置希望运行
的线程数。
注意:它只在gevent 1.0中测试过
命令行脚本
=
pysqes现在带有命令行脚本。worker命令将是此版本唯一可用的
,但task和peek命令可能会达到0.3。
代码块::bash
pysqes worker--gevent--workerpath=/home/user/pysqesproj/--config=pysqesconfig--configpath=/home/user/pysqesproj/settings/
如果您使用的是python 2.7,那么可以通过使用unittest模块中包含的新发现运行程序来运行单元测试:
。代码块::bash
python-m unit test discover-s测试
或者您可以单独运行每个单元测试。
0.3
===
*新的命令行脚本。
*测试命令行脚本。
*更好的日志记录。