riy*_*uja 5 python rabbitmq celery python-2.7 digital-ocean
我正在接触芹菜,我按照教程编写了一个任务,但不知何故工人没有起床,我得到了以下日志输入命令后:
celery worker -A tasks -l debug
Run Code Online (Sandbox Code Playgroud)
我得到一个日志:
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
Run Code Online (Sandbox Code Playgroud)
这是我的任务:
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
Run Code Online (Sandbox Code Playgroud)
虽然在rabbitmq管理控制台中,当我尝试在ipython控制台中生成素数但我没有在控制台上得到结果时,我看到一些队列建立.
这是我的控制台操作:
>>> from tasks import gen_prime
>>> pr=gen_prime.delay(10000)
>>> pr.ready()
False
>>>
>>> pr.ready()
False
>>> pr.ready()
False
Run Code Online (Sandbox Code Playgroud)
我试图在过去3天内解决这个问题,但我无法解决这个问题.