2013-06-26 20 views
5

जब मैं अजवाइन की धड़कन के लिए यह आदेश चलाता हूं।सेलेरी बीट ठीक से काम नहीं करती है

[2013-06-27 02: 17: 05,936: जानकारी/MainProcess] Celerybeat: शुरू ...

[2013-06-27 02: 17: 05,937: जानकारी/MainProcess] प्रविष्टियां लेखन ...

[2013-06-27 02: 17: 08,711: INFO/MainProcess] डेटाबेस शेड्यूलर: शेड्यूल बदल गया।

[2013-06-27 02: 17: 08,712: जानकारी/MainProcess] प्रविष्टियां लिख रहा है ...

यह इस परिणाम पर फंस गया है। लेकिन मेरी सेटिंग्स.py में मैंने 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) 
    }, 

} 

मेरी अजवाइन की धड़कन में क्या गड़बड़ है?

उत्तर

14

celery beat कमांड celery scheduler से शुरू होता है। यह प्रक्रिया कार्यसूची को शेड्यूल करती है और उन्हें समय-समय पर कतार में रखती है। यह कार्यों को निष्पादित नहीं करता है।

आप celery beatऔर शुरू करने की आवश्यकताcelery worker (मैं आप Django-अजवाइन का उपयोग कर रहे लगता है):

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

या बस:

python manage.py celery worker --beat 
+0

कारण है कि यह है कि अजवाइन हरा भेजने पर रहता है कार्य अगर यह केवल '@periodic_task (run_every = crontab (day_of_month =' 1 ') पर सेट है) '? – user2357067

+1

यदि आप डेटाबेस शेड्यूलर का उपयोग कर रहे हैं, तो आपको अपने डेटाबेस को साफ़ करने की आवश्यकता है, अन्यथा आप 'celerybeat-schedule' फ़ाइल –

+0

धन्यवाद हटा सकते हैं! बीटीडब्ल्यू, क्या मैं अपने डेटाबेस का बैकअप लेने में अजवाइन आवधिक कार्य का उपयोग कर सकता हूं? – user2357067

संबंधित मुद्दे