2013-06-26 9 views
5

.kereviz ritmi, bu komutu celery beat için çalıştırdığımda düzgün çalışmıyor

[2013/06/27 02: 17: 05.936: INFO/MainProcess] Celerybeat: başlatılıyor ...

[2013/06/27 02: 17: 05.937: INFO/MainProcess] Yazma girişleri ...

[2013-06-27 02: 17: 08,711: INFO/MainProcess] DatabaseScheduler: Zamanlama değişti.

[2013/06/27 02: 17: 08.712: INFO/MainProcess] Yazma girişleri ...

bu sonucu yapıştı. ama benim settings.py içinde CELERYBEAT_SCHEDULE öğesini yapılandırdım.

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

} 

Kereviz atışımın nesi var?

cevap

14

celery beat komutu celery scheduler'u başlatır. Bu süreç görevleri zamanlar ve periyodik olarak sıraya yerleştirir. Görev yürütmez.

Sen celery beatve başlamak gerekircelery worker (Sana django-kereviz kullanıyorsunuz sanırım):

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

Veya sadece: neden kereviz yendi gönderme ile ilgili tutar

python manage.py celery worker --beat 
+0

olduğunu Sadece @periodic_task (run_every = crontab (day_of_month = '1')) 'olarak ayarlanmış olsa bile görevler – user2357067

+1

Eğer DatabaseScheduler kullanıyorsanız, veritabanınızı temizlemelisiniz, aksi takdirde 'celerybeat-schedule' dosyasını –

+0

silebilirsiniz! btw, veritabanımı yedeklemede kereviz periyodik görevini kullanabilir miyim? – user2357067