【发布时间】:2015-06-14 15:11:22
【问题描述】:
我正在与 celery 取得联系,我通过关注 Tutorial 写了一个任务,但不知何故工人没有起床,我得到了以下日志 输入命令后:
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 天开始解决这个问题,但我无法解决它。
【问题讨论】:
标签: python python-2.7 rabbitmq celery digital-ocean