我是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。
答案 0 :(得分:1)
很可能你的芹菜工人没有跑,试试
celery -A {project_name} worker --loglevel=info -Q {queue_name}
替换project_name和queue_name的值。默认queue_name是default