Windows 環境下基於 Redis 的 Celery 任務調度模塊的實現

搭建環境:git

Windows-x64 10
Celery 3.1.23
Celery-with-redis 3.0
Redis-win32-win64 2.4.5
 
實現步驟:
1.安裝 Redis
因爲 Redis 並無官方支持 Windows,所以須要在 https://github.com/MSOpenTech/redis 中下載 Redis 包。
隨後,只需將對應的壓縮包解壓縮至相應的目錄便可。
2.安裝 Celery 相關庫
#  pip intall celery
#  pip install celery-with-redis
3.編寫基於 Celery 的異步程序
假設編寫異步郵件發送程序,其中異步發送郵件的函數名爲 Send_Mail,定義於 mail.py 文件中。
注意:初始化 Celery 對象時要指定任務名稱、Celery 後端(backend)執行的消息及結果的實現方式、Celery中間人(broker)的實現方式。
例如:初始化 Celery 對象任務名爲 mail,後端經過 Redis 保存信息,消息隊列也由 Redis 提供服務,以下所示。
celery = Celery('mail', backend='redis://localhost', broker='redis://localhost:6379/0')
4.啓動 Redis
管理員權限運行 cmd 環境,進入 Redis 目錄,運行以下命令啓動 Redis。
# redis-server.exe redis.conf
5.啓動 Celery 處理任務
以管理員權限運行 cmd 環境,激活 virtualenv。
假設 mail.py 封裝於名位 mail 的包內,且 mail 包處於 src 目錄下,則進入 mail 包的前級目錄下(即src),運行以下命令。
注意:單進程命令以下。
# celery -A mail.mail worker -l info -P solo
注意:多進程併發命令以下。Celery 默認設置 Worker 以 Pool 模式啓動,默認大小爲 CPU 核心數量,缺省序列化機制是 pickle,但能夠指定爲 json。
# celery -A mail.mail worker -l info
6.運行基於 Celery 的異步程序
運行調用異步發送郵件函數的程序,即可以實現異步發送郵件的功能。
隨後,即可在 Celery 的 Worker 界面中看到相似的任務處理消息。
相關文章
相關標籤/搜索