姜戈。简单的芹菜任务不起作用
Django. Simple Celery task not working
我是 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.
之后
很可能你的 celery worker 不是 运行,试试
celery -A {project_name} worker --loglevel=info -Q {queue_name}
替换project_name和queue_name的值。默认 queue_name 是 default
我是 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.
很可能你的 celery worker 不是 运行,试试
celery -A {project_name} worker --loglevel=info -Q {queue_name}
替换project_name和queue_name的值。默认 queue_name 是 default