2013-06-26 70 views
5

當我運行這個命令芹菜拍。芹菜拍不能正常工作

[2013年6月27日02:17:05936:信息/ MainProcess] Celerybeat:開始...

[2013年6月27日02:17:05937:信息/ MainProcess]編寫條目...

[2013-06-27 02:17:08,711:INFO/MainProcess] DatabaseScheduler:計劃已更改。

[2013年6月27日02:17:08712:信息/ MainProcess]編寫條目...

還停留在這個結果。但在我的settings.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 beatcelery 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

如果你正在使用DatabaseScheduler,你需要清理你的數據庫,否則你可以刪除'celerybeat-schedule'文件 –

+0

謝謝!順便說一句,我可以使用芹菜定期任務來備份我的數據庫? – user2357067