我今天早上开始玩Celery和RabbitMQ并定义了一些基本任务,以了解性能如何在我的服务器上得到改善。
我添加了我的rabbitmq用户,vhosts并设置了我的权限。 启动了我的RabbitMQ服务器
在一个非常详细的教程中,我发现这些人使用celerybeat和celeryd来查看某个任务的状态,并执行它们。
the detailed tutorial by Rich Leland
你是否也需要芹菜,或者我采取的步骤是什么?
我没有看到任何关于此的信息或说明......只是问
答案 0 :(得分:2)
好吧,你需要运行某种芹菜进程才能处理队列中的任务。 celeryd进程侦听队列,并根据您的设置执行任务。如果您没有运行celeryd进程,您只需将任务添加到队列中,但永远不会清空它。
如果您只是想看到您的队列,我建议安装RabbitMQ management plugin。
答案 1 :(得分:0)
http://ask.github.com/celery/getting-started/introduction.html
RabbitMQ有一个访客登录,因此这是一种更快的入门方式。把它放在celeryconfig.py:
中import sys
sys.path.append('.')
BROKER_HOST = "localhost"
BROKER_PORT = 5672
BROKER_USER = "guest"
BROKER_PASSWORD = "guest"
BROKER_VHOST = "/"
CELERY_RESULT_BACKEND = "amqp"
CELERY_IMPORTS = ("tasks",)
要进行快速测试,请将其放在tasks.py中:
from celery.task import task
@task
def add(x, y):
return x + y
if __name__ == "__main__":
result = add.delay(4, 4)
result.wait()
在同一目录中启动celeryd有celeryconfig.py和tasks.py:
celeryd --loglevel=INFO
最后,运行tasks.py