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