Je commence juste avec céleri, en essayant d'exécuter une tâche périodique.Comment configurer et exécuter celerybeat
Configuré * rabbitmq ** ajouté celeryconfig.py.
Et ajouté code suivant dans tasks.py:
from celery.decorators import periodic_task
from datetime import timedelta
@periodic_task(run_every=timedelta(seconds=2))
def every_2_seconds():
print("Running periodic task!")
Maintenant, quand je commence celerybeat en tapant "celerybeat" dans mon terminal, il commence à courir avec le message follwing
celerybeat
celerybeat v3.0.3 (Chiastic Slide) is starting.
__ - ... __ - _
Configuration ->
. broker -> amqp://[email protected]:5672//
. loader -> celery.loaders.default.Loader
. scheduler -> celery.beat.PersistentScheduler
. db -> celerybeat-schedule
. logfile -> [stderr]@INFO
. maxinterval -> now (0s)
[2012-08-03 14:24:52,202: INFO/MainProcess] Celerybeat: Starting...
Et il est pas de sortie de every_2_seconds
méthode dans le terminal.Je suppose que je dois spécifier quelle application à exécuter ou quelles tâches pendant la commande celerybeat.Comment faire cela?
Comment puis-je spécifier des tâches et imprimer la ligne toutes les 2 secondes en tant que tâches périodiques?
Merci.
Exécutez également celeryd qui va imprimer "Tâche périodique en cours!" toutes les deux secondes – mushfiq
Hey @mushfiq - pouvez-vous aider ici, je suis en train de courir céleri beat via céleri multi avec --beat et --schedule options mais aucune tâche n'est en cours d'exécution. J'ai essayé la tâche de décoration avec '@ app.periodic_task' avec' CELERY_IMPORTS = ("tasks",) 'mais sans succès. – Greg0ry
@ Greg0ry votre courtier est en place? Quelle version de Celery vous utilisez? – mushfiq