Celery 是一個 基於python開發的分佈式異步消息任務隊列,經過它能夠輕鬆的實現任務的異步處理python
簡單:一旦熟悉celery的工做流程後,配置和使用仍是比較簡單的redis
高可用:當任務執行失敗或執行過程當中發生連接中斷,celery會自動嘗試從新執行任務架構
快速:一個單進程的celery沒分鐘可處理上百萬個任務併發
靈活:幾乎celery的各個組件均可以被擴展及自定製異步
Celery的架構由三部分組成,消息中間件(message broker),任務執行單元(worker)和任務執行結果存儲(task result store)組成。分佈式
Celery自己不提供消息服務,可是能夠方便的和第三方提供的消息中間件集成。包括,RabbitMQ, Redis等等ui
Worker是Celery提供的任務執行的單元,worker併發的運行在分佈式的系統節點中。spa
Task result store用來存儲Worker執行的任務的結果,Celery支持以不一樣方式存儲任務的結果,包括AMQP, redis等code
Celery version 4.0 runs on Python ❨2.7, 3.4, 3.5❩ PyPy ❨5.4, 5.5❩ This is the last version to support Python 2.7, and from the next version (Celery 5.x) Python 3.5 or newer is required. If you’re running an older version of Python, you need to be running an older version of Celery: Python 2.6: Celery series 3.1 or earlier. Python 2.5: Celery series 3.0 or earlier. Python 2.4 was Celery series 2.2 or earlier. Celery is a project with minimal funding, so we don’t support Microsoft Windows. Please don’t open any issues related to that platform.