Céleri 3.1.11
paramètres.py
# Celery transport
BROKER_URL = 'django://'
CELERY_ACCEPT_CONTENT = ['json']
CELERY_TASK_SERIALIZER = 'json'
from celery.schedules import crontab
CELERYBEAT_SCHEDULE = {
'every-minute': {
'task': 'tasks.sync_oracle_history',
'schedule': crontab(minute='*/1'),
},
}
dans le dossier project.apps.proj, ajoutez un fichier tasks.py
from __future__ import absolute_import
from celery import task
@task(name='tasks.sync_oracle_history')
def sync_oracle_history():
print "="*30
print "TODO: sync_oracle_history pending"
aucune idée, tout conseil pour moi est le bienvenu.
dans bash shell, lors de l'exécution de la commande : celery beat -A proj -l info, envoyer uniquement à la file d'attente, sans exécuter la tâche,
mais changez la commande celery worker -A proj -l info, la tâche se déclenchera.
Beat n'exécute pas de tâches, il envoie simplement les messages. Vous avez besoin à la fois d'une instance de battement et d'une instance de travailleur !
merci @ask
Salut, comment puis-je faire pour ne pas utiliser ces commandes à chaque fois que je veux exécuter les tâches ? @xiaods @ask
Commentaire le plus utile
Beat n'exécute pas de tâches, il envoie simplement les messages. Vous avez besoin à la fois d'une instance de battement et d'une instance de travailleur !