Django的。简单的芹菜任务无法正常工作

时间:2016-04-05 02:39:21

标签: django rabbitmq celery

我是Celery的新手。我有一项无法正常工作的任务,我不知道为什么。我正在使用rabbitmq这是我的代码:

在settings.py中:

BROKER_URL = "amqp://guest@localhost//"

tasks.py:

from celery.decorators import task
from celery.utils.log import get_task_logger
from hisoka.models import FeralSpirit, Fireball

logger = get_task_logger(__name__)

@task
def test_task():
    fireball = Fireball.objects.last()
    feral_spirit = FeralSpirit.objects.filter(fireball=fireball).last()

    counters = feral_spirit.increase_counter()

    logger.info(feral_spirit + "counters: " + counters)

任务只是一个测试,它旨在增加一个计数器,该计数器是FeralSpirit模型的一个领域。如果我不使用delay()

调用该函数,它可以正常工作

views.py

class FireballDetail(ListView):

    def get_queryset(self, *args, **kwargs):
        test_task.delay()

        ...

我有一个rabbitmq服务器在一个终端上正常运行(或者至少看起来像这样),而另一个终端上的django localhost服务器运行正常。我错过了一些明显的东西吗我有一个celery.py和一个修改后的__init__文件,紧跟documentation

1 个答案:

答案 0 :(得分:1)

很可能你的芹菜工人没有跑,试试

celery  -A {project_name} worker --loglevel=info -Q {queue_name}

替换project_name和queue_name的值。默认queue_name是default