2013-06-26 14 views
5

quando eseguo questo comando per il ritmo del sedano.il ritmo del sedano non funziona correttamente

[2013-06-27 02: 17: 05.936: INFO/MainProcess] Celerybeat: A partire ...

[2013-06-27 02: 17: 05,937: INFO/MainProcess] voci di scrittura ...

[2013-06-27 02: 17: 08,711: INFO/MainProcess] DatabaseScheduler: pianificazione modificata.

[2013-06-27 02: 17: 08.712: INFO/MainProcess] voci scrittura ...

è bloccato su questo risultato. ma nel mio settings.py ho configurato CELERYBEAT_SCHEDULE.

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) 
    }, 

} 

Cosa c'è che non va con il mio ritmo di sedano?

risposta

14

Il comando celery beat avvia celery scheduler. Questo processo pianifica le attività e le inserisce periodicamente in una coda. Non esegue compiti.

il necessario per avviare celery beatecelery worker (immagino che si sta utilizzando django-sedano):

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

O semplicemente:

python manage.py celery worker --beat 
+0

perché è che il battito sedano continua a invio attività anche se è impostato solo su '@periodic_task (run_every = crontab (day_of_month = '1'))'? – user2357067

+1

se si utilizza DatabaseScheduler, è necessario pulire il database, altrimenti è possibile eliminare il file 'celerybeat-schedule' –

+0

grazie! btw, posso utilizzare l'attività periodica di sedani nel backup del mio database? – user2357067