Flask爱家租房--celery(总结)
0. celery整體邏輯圖
個人理解為:此處的客戶端client與以往定義的客戶端(前端)并不一樣,角色相當于以往的后端邏輯處理代碼,即發(fā)布任務(wù)的一方,只是相當于處理者worker而言是客戶端。
1.準備工作:
1)python manage.py runserver 運行服務(wù)代碼,此步驟對應(yīng)于開啟客戶端的程序,監(jiān)聽用戶發(fā)送短信指令的行為。
2)celery -A ihome.task.main worker -l info 此指令是真正執(zhí)行異步發(fā)送短信的代碼,指令中main 指的是處理者worker的啟動文件main.py,-l info指的是日志等級。
2.過程總結(jié):
1)用戶在登錄界面輸入手機號以及圖片驗證碼,并點擊獲取驗證碼;
此時調(diào)用后端api中相關(guān)邏輯處理函數(shù)get_sms_code(mobile);
get_sms_code函數(shù)中調(diào)用celery,使用send_sms.delay()異步發(fā)送短信,客戶端監(jiān)聽到此指令。
上圖中之所以單獨為worker創(chuàng)建一個文件夾sms,是因為實際項目中,會有多個tasks,通常每個task建立一個文件,目錄和sms平級。
2)接下來,客戶端將發(fā)送短信的指令send_sms保存任務(wù)隊列broker中,即redis中的1號數(shù)據(jù)庫。
3)接下來,真正的worker從broker中取出任務(wù),并通過啟動文件main.py中的配置的路徑,自動**搜尋(autodiscover)**相應(yīng)路徑下具有真實操作邏輯函數(shù)的send_sms函數(shù),即真正操作發(fā)送短信的worker,并執(zhí)行相關(guān)動作。
總結(jié)
以上是生活随笔為你收集整理的Flask爱家租房--celery(总结)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《锋利的jQuery》笔记 第2章 jQ
- 下一篇: 超赞,1万字的后端面试题及面试经验分享!