我在Django中有一个简单的Celery任务:
from celery.decorators import task
@task
def celery_test(x, y):
print x + y
return None
我在视图中称呼它:
...
def get_queryset(self, *args, **kwargs):
celery_test.delay("uno ", "dos")
...
所以,当我用delay
调用函数时,它不会向终端打印任何内容,为什么?,...当我在delay
之外调用它时,它会正确打印。我正在使用RabbitMQ服务器,运行正常。
答案 0 :(得分:1)
检查您的日志文件中的芹菜。它可能会在那里打印出来。
当您使用.delay()
时,任务与终端分离,您打印的所有内容都是这样的:
AsyncResult: 3df665f1-547d-49bb-937b-8190a63bfeb7.
您将代码传递给代理并且代理无法打印回终端。但是如果您的代码中有打印语句,它们将被打印到您的芹菜日志中。