Celery解決耗時問題僚碎,發(fā)短信不尷尬

1,Celery是什么阴幌?
  • 消息隊列勺阐,用于存放任務(wù)卷中,專注于實時處理問題。
2渊抽,Celery有什么用蟆豫?
  • 主要解決耗時問題。包含的三個主體:borker用于存放任務(wù)懒闷,worker屬于工人十减、消費(fèi)者,result用于存放結(jié)果愤估。
3帮辟,Celery的優(yōu)點(diǎn)?
  • 耦合性低玩焰,相當(dāng)與一個第三方插件由驹,使用方便
4,項目中如何體現(xiàn)昔园?
  • 用于異步發(fā)送短信蔓榄、發(fā)郵件、圖片上傳等

使用流程:

1默刚,安裝:
pip install celery
2甥郑,根據(jù)celery官方文檔:Celery點(diǎn)擊Django-->點(diǎn)擊使用celery與django-->里面有具體的使用方法。
3荤西,新建celery_test包(根目錄下)壹若,創(chuàng)建main.py 入口函數(shù)文件
from __future__ import absolute_import, unicode_literals
import os
from celery import Celery


#1,設(shè)置環(huán)境變量(跟項目中的啟動文件環(huán)境變量相同)
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "app.settings")


#2皂冰,創(chuàng)建celery對象(對象名可隨便起)
app = Celery('test')
app.config_from_object('celery_test.config', namespace='CELERY')


#3,注冊應(yīng)用****不要忘記
app.autodiscover_tasks(['celery_test.test.tasks'])   

4,創(chuàng)建config.py配置文件(建立兩個redis庫养篓,指明存放任務(wù)庫和存放結(jié)果庫)
broker_url='redis://127.0.0.1:6379/14'  #存放任務(wù)
result_backend='redis://127.0.0.1:6379/15' #存放結(jié)果
5秃流,在celery_test包內(nèi)創(chuàng)建sms包,專門用于存放發(fā)送短息的任務(wù)柳弄,發(fā)送短信的模板(發(fā)短信使用的是第三方容聯(lián)云通訊)

from celery_test.main import app
from app.libs.yuntongxun.sms import CCP

#bind: 會將第一個參數(shù)綁定到函數(shù)的第一參數(shù)舶胀,就是說參數(shù)self必填
#name: 表示任務(wù)的名稱
@app.task(bind=True,name="sms_code")
def send_sms_code(self,mobile,sms_code,time):
    # import time
    # time.sleep(10)
    #1,發(fā)送短信
    try:
        ccp = CCP()
        result =  ccp.send_template_sms(mobile, [sms_code, time], 1)
    except Exception as e:
        result = -1
    #2,判斷結(jié)果 (countdown:隔多久發(fā)一次,max_retries:最多發(fā)幾次碧注,exc:過期時間拋出異常)
    if result == -1:
        print("重試中....")
        self.retry(countdown=5,max_retries=3,exc=Exception("發(fā)送短信失敗啦!!!"))

終端測試發(fā)送命令: celery -A celery_test.main worker -l info

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末嚣伐,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子萍丐,更是在濱河造成了極大的恐慌轩端,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件逝变,死亡現(xiàn)場離奇詭異基茵,居然都是意外死亡奋构,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進(jìn)店門拱层,熙熙樓的掌柜王于貴愁眉苦臉地迎上來弥臼,“玉大人,你說我怎么就攤上這事根灯』淝龋” “怎么了?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵馏颂,是天一觀的道長淀散。 經(jīng)常有香客問我,道長茬高,這世上最難降的妖魔是什么兆旬? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮怎栽,結(jié)果婚禮上丽猬,老公的妹妹穿的比我還像新娘。我一直安慰自己熏瞄,他們只是感情好脚祟,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著强饮,像睡著了一般由桌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上邮丰,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天行您,我揣著相機(jī)與錄音,去河邊找鬼剪廉。 笑死娃循,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的斗蒋。 我是一名探鬼主播捌斧,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼泉沾!你這毒婦竟也來了捞蚂?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤跷究,失蹤者是張志新(化名)和其女友劉穎姓迅,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡队贱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年色冀,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柱嫌。...
    茶點(diǎn)故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡锋恬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出编丘,到底是詐尸還是另有隱情与学,我是刑警寧澤,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布嘉抓,位于F島的核電站索守,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏抑片。R本人自食惡果不足惜卵佛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望敞斋。 院中可真熱鬧截汪,春花似錦、人聲如沸植捎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽焰枢。三九已至蚓峦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間济锄,已是汗流浹背暑椰。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留荐绝,地道東北人一汽。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像很泊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子沾谓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內(nèi)容