J'ai suivi le instruction process to installing and setting up celery, maintenant j'essaye d'exécuter ma tâche. Mon arbre ressemble projet ceci:La tâche de céleri ne s'exécute pas
bin
draft1--
|
-------draft1 ----
|
--------celery.py
--------tasks.py
--------views.py
-------manage.py
-------templates
include
lib
Voici mon code:
settings.py
CELERY_BROKER_URL = 'amqp://guest:[email protected]:5672//'
celery.py
import os
from celery import Celery
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'app.settings')
app = Celery('app')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()
tasks.py
from celery import shared_task
@shared_task
def print_this():
print('ONE MINUTE')
app.views
print_this.delay()
donc ma fonction de céleri ne fonctionne pas, il n'exécute pas l'instruction d'impression. Ce que je veux faire est d'exécuter la fonction chaque minute. Une idée du problème?
J'ai tout lu et je ne suis pas sûr qu'il y ait quelque chose à "comprendre" sur la partie de la file d'attente? J'utilise mon application sur le serveur local de django, donc le 'CELERY_BROKER_URL' devrait être le même pour moi que dans les instructions. J'ai essayé './Bin/celery -A projet1 -l info' dans ma racine de projet (où manage.py est) et il a retourné cette erreur:' AttributeError: module 'draft1' n'a pas d'attribut 'app''/'Pendant la gestion de l'exception ci-dessus, une autre exception s'est produite: '' AttributeError: module 'draft1' n'a pas d'attribut 'celery'' Une idée de ce que cela pourrait signifier? ('draft1 est le nom de mon application') – Zorgan
Avez-vous configuré un serveur de file d'attente? Comme le lapin? –
Oui, mon serveur django et rabbitmq sont en cours d'exécution. – Zorgan