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,并執行相關動作。
在這里插入圖片描述
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452612.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452612.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452612.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux端口514啟動,Linux查看端口使用狀態及啟動(示例代碼)

Netstat -tln 命令是Linux查看端口使用情況/etc/init.d/vsftp start 是用來啟動ftp端口~!看文件/etc/servicesnetstatLinux查看端口查看已經連接的服務端口(ESTABLISHED)netstat -aLinux查看端口查看所有的服務端口(LISTEN,ESTABLISHED)sudo netstat -ap…

window服務器開站點(不通用)

此文章為記錄自己的配置流程,其他人不通用 網站服務器:Windows server 2008 R2 (IIS6.1) Asp.net 數據庫服務器:Windows server 2008 R2 SQL Server 2008 R2 1.解析域名到服務器,如:www.test.com 2.登錄網站服務器&a…

【轉載】優秀文章轉載集合

Spring Spring Cache 注釋驅動的 Spring cache 緩存介紹使用 Spring 2.5 注釋驅動的 IoC 功能虛擬化 libvirt kvm 虛擬機上網 – Bridge橋接KVM詳解,太詳細太深入了,經典Tomcat Linux機器同時運行兩個tomcat點評:主要是那張圖片的配置 Nginx …

Flask愛家租房--celery(發送驗證短信)

0.配置文件 # coding:utf-8BROKER_URL "redis://127.0.0.1:6379/1" CELERY_RESULT_BACKEND redis://127.0.0.1:6379/21.啟動文件 # coding:utf-8from celery import Celery from ihome.tasks import config# 定義celery對象 celery_app Celery("ihome"…

理論與實踐:不要過度思考

你每天都在仔細翻閱Hacker News,驚奇于那些經過整理的創業傳奇、功效無比的最佳實踐理論、天才的技術解決方案,以及各種鏈接指向的大量的一站式的,極簡主義的,色彩柔和的網站。你參加過精益(Lean)創業研討會,讀過了《F…

linux我如何查看一個腳本的路徑,linux獲取shell腳本所在絕對路徑操作介紹

腳本名:a.sh位置:/tmp/whuang/study/java腳本內容:復制代碼代碼如下:#!/bin/shthis_dirpwddirname $0|grep "^/" >/dev/nullif [ $? -eq 0 ];thenthis_dirdirname $0elsedirname $0|grep "^/." >/dev/nullretval$…

Go編程技巧--io.Reader/Writer

Go原生的pkg中有一些核心的interface,其中io.Reader/Writer是比較常用的接口。很多原生的結構都圍繞這個系列的接口展開,在實際的開發過程中,你會發現通過這個接口可以在多種不同的io類型之間進行過渡和轉化。本文結合實際場景來總結一番。 總…

把base64轉為blob

let blob1 dataURItoBlob(this.img); 轉載于:https://www.cnblogs.com/miaSlady/p/9073550.html

Flask愛家租房--房屋管理(獲取房東發布的房源信息條目)

文章目錄0.效果展示1.重點總結2.后端代碼3.前端html4.前端js0.效果展示 1.重點總結 1)用戶點擊“我的房源”,頁面開始加載,此時myhouse.js限定只有完成實名認證的房東才可以查詢已有的房源信息,因此myhouse.js首先調用用戶認證的…

TCP如何利用不可靠的IP協議實現可靠傳輸

IP協議之所以是不可靠的是因為IP網絡存在沖突丟包及傳輸錯誤甚至被惡意篡改的情況;雖然IP協議是不可靠的,但其服務的上層協議為了規避這些不可靠的因素,有些協議就會自己設計機制從而保證自己傳輸的內容可靠;TCP就是其中之一&…

jsp通過include指令引入html亂碼的解決方法

本文轉自&#xff1a;https://blog.csdn.net/gnail_oug/article/details/51707061 在jsp中使用<%include file"in.html" %>導入html頁面時&#xff0c;如果html頁面里有中文&#xff0c;就會產生亂碼。檢查jsp文件和html文件的編碼&#xff0c;編碼一致&#x…

linux怎么刪干凈mysql,linux怎么干凈卸載mysql

1、查找以前是否裝有mysql命令&#xff1a;rpm -qa|grep -i mysql可以看到如下圖的所示&#xff1a;說明之前安裝了&#xff1a;MySQL-client-5.5.25a-1.rhel5MySQL-server-5.5.25a-1.rhel52、停止mysql服務、刪除之前安裝的mysql刪除命令&#xff1a;rpm -e –nodeps 包名# rp…

各大互聯網公司java開發面試常問問題

本人是做java開發的&#xff0c;這是我參加58&#xff0c;搜狐&#xff0c;搜狗&#xff0c;新浪微博&#xff0c;百度&#xff0c;騰訊文學&#xff0c;網易以及其他一些小的創業型公司的面試常被問的問題&#xff0c;當然有重復&#xff0c;弄清楚這些&#xff0c;相信面試會…

14種方法助你參與開源項目

導讀&#xff1a;每日[快訊精選]是由CSDN研發頻道推出的特色欄目&#xff0c;每一天我們將從國外技術媒體(例如Hacker News、Reddit...等等)中挑選出有價值的新聞簡訊&#xff0c;讓您在第一時間掌握業界主流的技術文摘&#xff0c;每天清晨為您獻上第一份技術早餐。 [1]Javac…

Flask愛家租房--房屋管理(獲取主頁幻燈片展示的房屋基本信息)

文章目錄0.效果展示1.重點總結2.后端代碼3.前端js4.前端html0.效果展示 1.重點總結 1&#xff09;當用戶訪問首頁時&#xff0c;開始加載頁面信息&#xff0c;此時index.js文件首先調用后端接口check_login()&#xff0c;判斷用戶是否登錄&#xff0c;未登錄則在右上角關聯注冊…

C#題目及答案(1)

1. 簡述 private、 protected、 public、 internal 修飾符的訪問權限。 答 . private : 私有成員, 在類的內部才可以訪問。 protected : 保護成員,該類內部和繼承類中可以訪問。 public : 公共成員,完全公開,沒有訪問限制。 internal: 在同一命名空間內可以訪問。 2 .列舉ASP.N…

linux bash函數里面調用命令行,Linux-在gnome-terminal -x中運行bash函數

您可以將其與export -f一起使用,就像kojiro的上面的注釋中指出的那樣.# Define function.my_func() {// Do cool stuff}# Export it, so that all child bash processes see it.export -f my_func# Invoke gnome-terminal with bash -c and the function name, *plus*# another…