2013-06-26 5 views
5

wenn ich diesen Befehl für Sellerie Beat ausführen.Sellerie Beat funktioniert nicht richtig

[2013.06.27 02: 17: 05.936: INFO/MainProcess] Celerybeat: ab ...

[2013.06.27 02: 17: 05.937: INFO/MainProcess] Schreibe Einträge ...

[2013-06-27 02: 17: 08,711: INFO/MainProcess] DatabaseScheduler: Zeitplan geändert.

[2013.06.27 02: 17: 08.712: INFO/MainProcess] Schreibe Einträge ...

es auf diesem Ergebnis steckt. aber in meiner settings.py habe ich die CELERYBEAT_SCHEDULE konfiguriert.

CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler" 

from datetime import timedelta 

CELERYBEAT_SCHEDULE = { 
    'add-every-30-seconds': { 
    'task': 'celerytest.tasks.add', 
    'schedule': timedelta(seconds=30), 
    'args': (16, 16) 
    }, 

    'add-every-10-seconds': { 
    'task': 'celerytest.tasks.minus', 
    'schedule': timedelta(seconds=10), 
    'args': (20, 16) 
    }, 

} 

Was ist los mit meinem Sellerie Beat?

Antwort

14

Der Befehl celery beat startet die celery scheduler. Dieser Prozess plant Aufgaben und platziert sie regelmäßig in einer Warteschlange. Es führt keine Aufgaben aus.

Sie müssen beginnen celery beatundcelery worker (Ich denke, man django-Sellerie verwenden):

python manage.py celery beat 
python manage.py celery worker 

Oder einfach:

python manage.py celery worker --beat 
+0

warum ist es, dass die Sellerie Beat hält auf Senden Aufgaben, auch wenn es nur auf '@periodic_task (run_every = crontab (day_of_month = '1'))' gesetzt ist? – user2357067

+1

Wenn Sie DatabaseScheduler verwenden, müssen Sie Ihre Datenbank bereinigen, sonst können Sie 'sellerybeat-schedule' Datei –

+0

dankt! BTW, kann ich regelmäßige Sellerieaufgaben beim Sichern meiner Datenbank verwenden? – user2357067