1

今天早上我开始玩 Celery 和 RabbitMQ 并定义了一些基本任务来看看我的服务器上的性能将如何提高。

我已经添加了我的 rabbitmq 用户、vhosts 并设置了我的权限。启动我的 RabbitMQ 服务器

在一个非常详细的教程中,我发现这些人使用 celerybeat 和 celeryd 来查看某些任务的状态,并执行它们。

Rich Leland 的详细教程

您是否还需要芹菜,或者我采取的步骤是否足够?

我在任何地方都没有看到有关此的任何信息或注释...只是问

4

2 回答 2

2

好吧,您需要运行某种 celery 进程才能处理队列中的任务。celeryd 进程监听队列,并根据你的设置执行任务。如果您没有运行 celeryd 进程,您只会将任务添加到队列中,但永远不会清空它。

如果您只是对查看队列感兴趣,我建议您安装RabbitMQ 管理插件

于 2011-09-06T16:37:13.720 回答
0

http://ask.github.com/celery/getting-started/introduction.html

  1. 启动你的 RabbitMQ 服务器
  2. 定义你的 celeryconfig.py
  3. 启动你的 celery 守护进程:celeryd

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

于 2011-10-05T09:41:56.557 回答