背景
- celery task: 請求了第三方的api, 由於請求次數較多,執行比較慢。週期性任務有一定丟失.
celery 啓動
- 開發:celery -B -A proj worker -l debug
- 線上: supervisorctl 託管worker/beats
- beat:週期任務
- worker: CPU密集型/IO密集型
- : prefork: 默認cpu核數.
- : eventlet: 協程
CPU密集型:
celery worker -A proj worker -c 4
IO密集型.
celery worker -A proj --concurrency=10 -P eventlet
監控
- flower:
- django-celery-result: 直接在後臺查看
flower: 生產環境開啓代理臨時訪問即可.
celery -A booksong flower --address=0.0.0.0 --port=5555