Python 芹菜工人无法工作,尽管rabbitmq已建立队列

Python 芹菜工人无法工作,尽管rabbitmq已建立队列,python,python-2.7,rabbitmq,celery,digital-ocean,Python,Python 2.7,Rabbitmq,Celery,Digital Ocean,我正在接触芹菜,我写了一个任务,但不知怎的,工人没有起床,我得到了下面的日志 输入命令后: celery worker -A tasks -l debug 我得到一个日志: Running a worker with superuser privileges when the worker accepts messages serialized with pickle is a very bad idea! If you really want to continue then you ha

我正在接触芹菜,我写了一个任务,但不知怎的,工人没有起床,我得到了下面的日志 输入命令后:

celery worker -A tasks -l debug
我得到一个日志:

Running a worker with superuser privileges when the
worker accepts messages serialized with pickle is a very bad idea!

If you really want to continue then you have to set the C_FORCE_ROOT
environment variable (but please think about this before you do).

User information: uid=0 euid=0 gid=0 egid=0
我的任务是:

from celery import Celery

app = Celery('tasks', backend='amqp',broker='amqp://sanjay:**@localhost:5672//')

@app.task
def gen_prime(x):
    multiples = []
    results = []
    for i in xrange(2, x+1):
        if i not in multiples:
            results.append(i)
            for j in xrange(i*i, x+1, i):
                multiples.append(j)
    return results
虽然在rabbitmq管理控制台中,当我尝试在ipython控制台中生成素数时,我看到一些队列在增加,但我并没有在控制台上得到结果

以下是我的控制台操作:

>>> from tasks import gen_prime
>>> pr=gen_prime.delay(10000)
>>> pr.ready()
False
>>> 
>>> pr.ready()
False
>>> pr.ready()
False

我试图解决过去3天的问题,但无法解决。

错误消息几乎可以告诉您在这种情况下发生了什么。您试图以root用户身份运行worker(出于安全考虑,这通常是个坏主意)。如果要覆盖并允许其运行,则必须设置环境:

export C_FORCE_ROOT="true"
然后运行工人

或者您可以作为不同的用户运行它,这是首选。您可以搜索如何添加用户。然后,您只需以该用户或su的身份登录并执行您的worker

由于您标记了此数字海洋,以下是他们关于如何添加用户的教程的链接:

此外,芹菜还有一些关于如何监控员工的文档。我通常使用监督法


不要将芹菜工人作为根运行


我建议使用来管理芹菜工人-您可以使用
user
configuration指令来指定运行芹菜工人的用户。

您能告诉我如何做到这一点吗?我是芹菜新手,无法找到任何关于芹菜工人的文档!如何运行芹菜工人-A任务-l调试命令?从命令行?如果是这样,只需登录其他用户即可。