Je suis coincé avec l'exécution de céleri 3.1.17 sur Windows 7 (et plus tard sur le serveur 2013) en utilisant redis comme backend.Courir céleri battre sur les fenêtres - mission impossible?
Dans mon fichier celery.py
je défini une application avec une tâche scheudled
app = Celery('myapp',
backend='redis://localhost',
broker='redis://localhost',
include=['tasks']
)
app.conf.update(
CELERYBEAT_SCHEDULE = {
'dumdum': {
'task': 'tasks.dumdum',
'schedule': timedelta(seconds=5),
}
}
)
La tâche est en train d'écrire une ligne dans un fichier
@app.task
def dumdum():
with open('c:/src/dumdum.txt','w') as f:
f.write('dumdum actually ran !')
L'exécution du service de battement de la ligne de commande
(venv) celery beat -A tasks
celery beat v3.1.17 (Cipater) is starting.
__ - ... __ - _
Configuration ->
. broker -> redis://localhost:6379/1
. loader -> celery.loaders.app.AppLoader
. scheduler -> celery.beat.PersistentScheduler
. db -> celerybeat-schedule
. logfile -> [stderr]@%INFO
. maxinterval -> now (0s)
[2015-03-15 10:50:33,265: INFO/MainProcess] beat: Starting...
[2015-03-15 10:50:35,496: INFO/MainProcess] Scheduler: Sending due task dumdum (tasks.dumdum)
[2015-03-15 10:50:40,513: INFO/MainProcess] Scheduler: Sending due task dumdum (tasks.dumdum)
Cela semble prometteur, mais rien ne se passe. Rien n'est écrit dans le fichier.
Le celery documentation sur runnig battement sur les fenêtres de la référence this article 2011. L'article explique comment exécuter celeryd
comme une tâche de planification sur les fenêtres. celeryd
a été déprécié depuis et la commande indiquée dans l'article ne fonctionne plus (il n'y a pas de module celery.bin.celeryd
).
Alors, quelle est la solution ici?
Merci.
Avez-vous un vrai travailleur en cours d'exécution? Celery beat n'exécute aucune tâche, il ne les met en file d'attente que lorsque cela est approprié. – tuomur
Ouvrez un terminal et exécutez 'celery worker -A tasks -l info' qui démarre une instance de worker et commence à cosumuer les tâches que vous venez de mettre en file d'attente. – ChillarAnand