windows環(huán)境中利用celery實(shí)現(xiàn)簡單任務(wù)隊(duì)列過程解析
這篇文章主要介紹了windows環(huán)境中利用celery實(shí)現(xiàn)簡單任務(wù)隊(duì)列過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
一、背景
最近因項(xiàng)目需要,學(xué)習(xí)任務(wù)隊(duì)列Celery的用法;
二、測(cè)試使用環(huán)境:
1.Windows7 x64
2.Python == 3.7.5
3.celery == 4.3.0
4.redis =3.3.11
5.eventlet==0.25.1 ==> pip install eventlet (windows環(huán)境必須安裝)
6.IDE為pycharm
三、關(guān)于celery的安裝和卸載處理
pip install celery #安裝
pip install celery == 3.1.25 #指定安裝版本
pip uninstall celery #卸載
四、Celery分為3個(gè)部分
1.worker部分負(fù)責(zé)任務(wù)的處理,即工作進(jìn)程(我的理解工作進(jìn)程就是你寫的python代碼,當(dāng)然還包括python調(diào)用系統(tǒng)工具功能)
2.broker部分負(fù)責(zé)任務(wù)消息的分發(fā)以及任務(wù)結(jié)果的存儲(chǔ),這部分任務(wù)主要由中間數(shù)據(jù)存儲(chǔ)系統(tǒng)完成,比如消息隊(duì)列服務(wù)器RabbitMQ、redis、
3.Celery主類,進(jìn)行任務(wù)最開始的指派與執(zhí)行控制,他可以是單獨(dú)的python腳本,也可以和其他程序結(jié)合,應(yīng)用到django或者flask等web框架里面以及你能想到的任何應(yīng)用
五、上代碼:
1.創(chuàng)建Celery實(shí)例tasks.py:
# -*- coding: utf-8 -*- # 使用celery import time from celery import Celery import redis # 創(chuàng)建一個(gè)Celery類的實(shí)例對(duì)象 app = Celery('celery_tasks.tasks', broker='redis://:topsky@127.0.0.1:6379/1') @app.task def add(a, b): count = a + b print('任務(wù)函數(shù)正在執(zhí)行....') time.sleep(5) return count
2.調(diào)用celery任務(wù)代碼:
from celery_tasks.tasks import add def notity(a, b): # result = a + b result = add.delay(a, b) return result if __name__ == '__main__': result = notity(3, 5) print(result)
六、執(zhí)行worker
1.創(chuàng)建一個(gè)worker,等待處理隊(duì)列中的任務(wù),打開Windows PowerShell終端以管理員身份運(yùn)行,cd到E:\SvnCode\myCode目錄中,
2.執(zhí)行命令: celery -A celery_tasks.tasks worker -l info -P eventlet
參數(shù)解釋,命令中-A參數(shù)表示的是Celery APP的名稱celery_tasks,這個(gè)實(shí)例中指的就是tasks.py,后面的tasks就是APP的名稱,worker是一個(gè)執(zhí)行任務(wù)角色,后面的loglevel=info記錄日志類型默認(rèn)是info,這個(gè)命令啟動(dòng)了一個(gè) worker, 用來執(zhí)行程序中add這個(gè)加法任務(wù)(task),-P eventlet是防止在windows環(huán)境下出現(xiàn)
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python3.3使用tkinter開發(fā)猜數(shù)字游戲示例
這篇文章主要介紹了python3.3使用tkinter開發(fā)猜數(shù)字游戲示例,需要的朋友可以參考下2014-03-03詳解如何在pyqt中通過OpenCV實(shí)現(xiàn)對(duì)窗口的透視變換
這篇文章主要介紹了如何在pyqt中通過OpenCV實(shí)現(xiàn)對(duì)窗口的透視變換,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09python編碼格式導(dǎo)致csv讀取錯(cuò)誤問題(csv.reader, pandas.csv_read)
python編碼格式導(dǎo)致csv讀取錯(cuò)誤問題(csv.reader, pandas.csv_read),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05python3 實(shí)現(xiàn)爬取TOP500的音樂信息并存儲(chǔ)到mongoDB數(shù)據(jù)庫中
今天小編就為大家分享一篇python3 實(shí)現(xiàn)爬取TOP500的音樂信息并存儲(chǔ)到mongoDB數(shù)據(jù)庫中,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08OPENAI?API?微調(diào)?GPT-3?的?Ada?模型
這篇文章主要為大家介紹了OPENAI?API?微調(diào)?GPT-3?的?Ada?模型使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04Python自動(dòng)采集微信聯(lián)系人的實(shí)現(xiàn)示例
這篇文章主要介紹了Python自動(dòng)采集微信聯(lián)系人的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02