Ich bin neu in Celery
. Ich habe eine Aufgabe, die nicht funktioniert und ich weiß nicht warum. Im mit rabbitmq
Hier ist mein Code:Django. Einfache Sellerie Aufgabe funktioniert nicht
In settings.py:
BROKER_URL = "amqp://[email protected]//"
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)
Die Aufgabe wird nur ein Test, ist es entworfen, um einen Zähler zu erhöhen, dass ist ein Bereich des FeralSpirit-Modells. Es funktioniert richtig, wenn ich mit delay()
views.py
class FireballDetail(ListView):
def get_queryset(self, *args, **kwargs):
test_task.delay()
...
die Funktion nicht aufrufen Ich habe einen rabbitmq
Server korrekt ausgeführt wird (oder zumindest sieht es so aus, dass) an einem Terminal und der django localhost Server auf einem anderen Terminal. Fehle ich etwas Offensichtliches? Ich habe eine celery.py
und eine modifizierte __init__
Datei, genau nach der documentation.
Wenn Sie "django localhost server" sagten, meintest du deinen Selleriearbeiter? Überprüfen Sie, ob Ihr Sellerie-Arbeiter läuft. – anupsabraham