Celery底層原理


Celery的底層原理(透徹一些)?

celery是基於python實現的一個異步任務的調度工具,同時還是一個任務隊列,主要用於處理耗時的任務。架構如下:

 

 

   celery架構由三個模塊組成:消息中間件(message broker),任務執行單元(worker)和任務執行結果存儲(task result store)組成。

消息中間件(Broker): 消息中間人,是任務調度隊列,是一個獨立的服務,是一個生產者消費者模式,生產者把任務放入隊列中,消費者(worker)從任務隊列中取出任務執行,任務的執行可以按照順序依次執行也可以按照計划時間進行。但是Broker本身不提供隊列服務,所以要集成第三方隊列,推薦使用RatbbitMQ或Redis.

任務執行單元(worker):即執行任務的程序,可以有多個並發。它實時監控消息隊列,獲取隊列中調度的任務,並執行它。

任務執行結果存儲(task result store):由於任務的執行同主程序分開,如果主程序想獲取任務執行的結果,就必須通過中間件存儲。同消息中間人一樣,存儲也可以使用RabbitMQRedis另外,假如不需要保存執行的結果也可以不配置這個模塊。

 

更對內容參考:

http://docs.celeryproject.org/en/latest/getting-started/introduction.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM