婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python中使用Celery容聯云異步發送驗證碼功能

python中使用Celery容聯云異步發送驗證碼功能

熱門標簽:高德地圖標注收入咋樣 怎么辦理400客服電話 B52系統電梯外呼顯示E7 銀川電話機器人電話 地圖標注多個 沈陽防封電銷電話卡 萊蕪電信外呼系統 企業微信地圖標注 鶴壁手機自動外呼系統違法嗎

1.celery異步消息隊列介紹

celery應用舉例

  • Celery 是一個 基于python開發的分布式異步消息任務隊列,通過它可以輕松的實現任務的異步處理,如果你的業務場景中需要用到異步任務,就可以考慮使用celery
  • 你想對100臺機器執行一條批量命令,可能會花很長時間 ,但你不想讓你的程序等著結果返回,而是給你返回 一個任務ID,你過一段時間只需要拿著這個任務id就可以拿到任務執行結果, 在任務執行ing進行時,你可以繼續做其它的事情
  • Celery 在執行任務時需要通過一個消息中間件來接收和發送任務消息,以及存儲任務結果, 一般使用rabbitMQ or Redis

Celery有以下優點

  • 簡單:一單熟悉了celery的工作流程后,配置和使用還是比較簡單的
  • 高可用:當任務執行失敗或執行過程中發生連接中斷,celery 會自動嘗試重新執行任務
  • 快速:一個單進程的celery每分鐘可處理上百萬個任務
  • 靈活: 幾乎celery的各個組件都可以被擴展及自定制

Celery 特性

  • 方便查看定時任務的執行情況, 如 是否成功, 當前狀態, 執行任務花費的時間等.
  • 可選 多進程, Eventlet 和 Gevent 三種模型并發執行.
  • Celery 是語言無關的.它提供了python 等常見語言的接口支持.

2.工作原理 *****

Celery 扮演生產者和消費者的角色

  • Celery Beat : 任務調度器. Beat 進程會讀取配置文件的內容, 周期性的將配置中到期需要執行的任務發送給任務隊列.
  • Celery Worker : 執行任務的消費者, 通常會在多臺服務器運行多個消費者, 提高運行效率.
  • Broker : 消息代理, 隊列本身. 也稱為消息中間件. 接受任務生產者發送過來的任務消息, 存進隊列再按序分發給任務消費方(通常是消息隊列或者數據庫).
  • Producer : 任務生產者. 調用 Celery API , 函數或者裝飾器, 而產生任務并交給任務隊列處理的都是任務生產者.
  • Result Backend : 任務處理完成之后保存狀態信息和結果, 以供查詢.

思維導圖

3.異步發短信

首先得安裝倆個表要包

pip install celery
pip install celery-with-redis

3.1.settings同級目錄下創建 celery 文件

如果 'namespace=‘CELERY''出現報錯 celery可以適當降一下級別 ‘4.4.7'

from __future__ import absolute_import, unicode_literals
import os
from celery import Celery


# 設置環境變量
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'md.settings')

# 注冊Celery的APP
app = Celery('meiduo')
# 綁定配置文件
app.config_from_object('django.conf:settings', namespace='CELERY')

# 自動發現各個app下的tasks.py文件
# app.autodiscover_tasks()

3.2.redis及容聯云配置

#獲取redis連接
def getRedis():
    from django_redis import get_redis_connection
    conn = get_redis_connection()
    return conn

#發短信  去容聯云官網查找自己的信息
from ronglian_sms_sdk import SmsSDK

accId = 'ACCOUNT SID(主賬號ID)'
accToken = 'AUTH TOKEN(賬戶授權令牌)'
appId = 'AppID(默認)'

import json
def send_message(mobile,code,time):
    sdk = SmsSDK(accId, accToken, appId)
    tid = '1'
    datas = (code, time)
    resp = sdk.sendMessage(tid, mobile, datas)
    result = json.loads(resp)
    if result['statusCode'] == '000000':
        return 1
    return 2

3.3.配置settings文件

CELERY_BROKER_URL = 'redis://127.0.0.1:6379/'

CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/'

CELERY_RESULT_SERIALIZER = 'json'

3.4.配置 settings同級目錄下 init 文件

from __future__ import absolute_import, unicode_literals
from .celery import app as celery_app

__all__ = ['celery_app']

3.5.在utils下新建一個task.py文件

# 寫異步任務的地方
from celery.task import task
from .comm import send_message

# 定義發送手機號的方法
@task
def mail(mobile,code,time):
    send_message(mobile,code,time)    

3.6.接口中調用

如果用了redis數據庫,得先開啟數據庫

from utils.task import send_message
from utils.comm import getRedis
import random

class SendMes(APIView):
    # 短信驗證
    def get(self,request):
        # 接收客戶端發送的數據
        imagecode = request.query_params.get('imagecode')
        print(imagecode)
        mobile = request.query_params.get('mobile')
        print(mobile)
        uuid = request.query_params.get('uuid')
        print(uuid)
        if not all([imagecode,mobile]):
            return Response({'msg':'沒有獲取到'})
        # 驗證圖片驗證碼
        conn =getRedis()
        # redis 中取驗證碼
        code = conn.get(uuid)
        print(code)
        if code:
            code = str(code,encoding='utf8')
            # 圖片驗證碼對比
            if imagecode.lower() == code.lower():
                # 驗證通過后調用發送短信接口
                sms_code = random.randint(10000,99999)
                # 引用comm文件中的send_message
                result = send_message(mobile,sms_code,1)
               # 加入短信嗎發送成功
                if result:
                    # redis中要存短信驗證嗎
                    conn.setex(mobile,60,sms_code)
                    # 把圖片驗證碼從redis中刪除
                    conn.delete(uuid)
                    return Response({'msg':sms_code})
                else:
                    return ({'msg':'發送失敗'})
            else:
                return Response({'msg':'驗證碼不正確'})
        return Response('ok')

3.7.先啟動django項目

然后另開終端 cd到項目 目錄下啟動celery 服務

指定并發數 --autoscale(最多,最少)

celery worker -A 項目的文件名 --loglevel=info --pool=solo --autoscale=50,5
urn Response('ok')
~~~

#### 3.7.先啟動django項目 然后另開終端 cd到項目 目錄下啟動celery 服務

指定并發數 --autoscale(最多,最少)

```pyhon
celery worker -A 項目的文件名 --loglevel=info --pool=solo --autoscale=50,5

到此這篇關于使用Celery 容聯云 異步發送驗證碼的文章就介紹到這了,更多相關Celery異步發送驗證碼內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python基于celery實現異步任務周期任務定時任務
  • Python Celery多隊列配置代碼實例
  • Python并行分布式框架Celery詳解
  • python Celery定時任務的示例
  • Python環境下安裝使用異步任務隊列包Celery的基礎教程
  • 在RedHat系Linux上部署Python的Celery框架的教程

標簽:銀川 呼倫貝爾 三亞 湘西 呼倫貝爾 葫蘆島 烏魯木齊 安慶

巨人網絡通訊聲明:本文標題《python中使用Celery容聯云異步發送驗證碼功能》,本文關鍵詞  python,中,使用,Celery,容聯,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python中使用Celery容聯云異步發送驗證碼功能》相關的同類信息!
  • 本頁收集關于python中使用Celery容聯云異步發送驗證碼功能的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美电视剧在线看免费| 日韩一区二区三区高清免费看看| 99精品久久只有精品| 色噜噜久久综合| 欧美精品在线视频| 国产亚洲人成网站| 尤物av一区二区| 麻豆91在线播放| 99久久综合国产精品| 欧美日韩在线亚洲一区蜜芽| 精品国产凹凸成av人导航| 自拍偷自拍亚洲精品播放| 五月激情综合婷婷| 懂色av一区二区夜夜嗨| 在线91免费看| 在线欧美一区二区| 精品福利av导航| 一区二区免费在线播放| 免费一级片91| 色婷婷av一区二区| 久久久五月婷婷| 日韩美女视频一区| 国模套图日韩精品一区二区| 在线观看91精品国产入口| 精品国产欧美一区二区| 一区二区在线电影| 亚洲综合偷拍欧美一区色| 午夜日韩在线观看| av亚洲产国偷v产偷v自拍| 亚洲视频一区二区免费在线观看| 欧美国产一区视频在线观看| 日本少妇一区二区| 91麻豆精东视频| 国产亚洲一区字幕| 日本色综合中文字幕| 在线观看免费视频综合| 国产精品人成在线观看免费| 蜜桃av噜噜一区| 欧美日韩国产在线观看| 亚洲欧美综合色| 国产精品1区二区.| 精品久久久久久久久久久久久久久久久 | jlzzjlzz欧美大全| 欧美va亚洲va| 日韩精品视频网| 亚洲男同1069视频| 亚洲一二三专区| 99视频精品在线| 欧美国产激情一区二区三区蜜月| 蜜桃在线一区二区三区| 欧美日韩精品二区第二页| 亚洲精品五月天| 99久久久久免费精品国产| 欧美—级在线免费片| 激情六月婷婷久久| 欧美成人在线直播| 琪琪久久久久日韩精品| 欧美精品久久一区二区三区| 一片黄亚洲嫩模| 99久久久国产精品| 国产精品嫩草影院av蜜臀| 国产乱国产乱300精品| 风流少妇一区二区| 26uuu欧美| 国产一区二区视频在线播放| 精品国产欧美一区二区| 九色综合国产一区二区三区| 日韩欧美一区二区在线视频| 日韩av电影免费观看高清完整版 | 成人高清在线视频| 欧美激情综合在线| 国产白丝精品91爽爽久久| 国产午夜亚洲精品理论片色戒 | 国产精品久久久久久久裸模| 东方aⅴ免费观看久久av| 欧美激情一区二区在线| 成年人午夜久久久| 国产精品灌醉下药二区| 91在线观看高清| 亚洲狠狠丁香婷婷综合久久久| 欧亚洲嫩模精品一区三区| 亚洲国产另类av| 久久99国产乱子伦精品免费| 精品国产免费一区二区三区四区 | 亚洲特黄一级片| 波多野结衣中文字幕一区二区三区| 国产精品毛片大码女人| 色综合 综合色| 91精选在线观看| 国产精品国产三级国产三级人妇| 99久精品国产| 亚洲丶国产丶欧美一区二区三区| 这里是久久伊人| 国产一区在线精品| 国产精品麻豆视频| 欧美午夜在线观看| 人人精品人人爱| 国产亚洲欧洲一区高清在线观看| 99久久伊人精品| 亚洲高清视频的网址| 欧美mv日韩mv国产| jlzzjlzz欧美大全| 婷婷六月综合网| 久久久久国产精品厨房| 日本精品免费观看高清观看| 日本中文一区二区三区| 国产亚洲成年网址在线观看| 性久久久久久久久久久久| 精品国产免费人成电影在线观看四季| 国产成人精品影院| 亚洲国产欧美另类丝袜| 久久综合狠狠综合久久激情 | 一区av在线播放| 日韩欧美123| 91丝袜高跟美女视频| 免费精品视频最新在线| 成人午夜在线播放| 国产视频一区二区在线观看| 色婷婷国产精品综合在线观看| 美女视频黄频大全不卡视频在线播放| 中文av一区二区| 欧美久久久久久久久中文字幕| 欧美色精品在线视频| 怡红院av一区二区三区| 精品粉嫩超白一线天av| 91福利小视频| 国产精品99久久久久久有的能看| 亚洲图片欧美色图| 国产女同性恋一区二区| 欧美精品在线观看播放| 国产裸体歌舞团一区二区| 亚洲大片在线观看| 中文久久乱码一区二区| 日韩一级完整毛片| 色综合久久天天综合网| 国内精品嫩模私拍在线| 精品黑人一区二区三区久久| 欧美写真视频网站| jlzzjlzz亚洲女人18| 国产一区二区三区在线观看免费 | 在线播放中文字幕一区| 99在线热播精品免费| 国产乱理伦片在线观看夜一区| 91在线观看下载| 婷婷开心激情综合| 亚洲精品成人精品456| 日本一区二区三区dvd视频在线| 日韩一区二区中文字幕| 欧美三级韩国三级日本一级| 成人免费视频免费观看| 国产一区二区精品在线观看| 免费成人在线视频观看| 亚洲成人av一区二区三区| 亚洲免费高清视频在线| 中文字幕在线一区免费| 2020国产精品久久精品美国| 91精品婷婷国产综合久久竹菊| 99国产精品国产精品毛片| 成人在线视频一区二区| 国产精品99久久不卡二区| 久久99国产精品尤物| 国产精品一区三区| 五月天一区二区| 精品久久久久香蕉网| 91麻豆精品国产自产在线观看一区 | 1区2区3区欧美| 国产人成亚洲第一网站在线播放 | 欧美久久久影院| 欧美中文字幕亚洲一区二区va在线| 波多野结衣一区二区三区| 国产91精品露脸国语对白| 国产福利视频一区二区三区| 韩国av一区二区三区四区| 久久99九九99精品| 精品在线播放免费| 久久成人av少妇免费| 极品尤物av久久免费看| 九九国产精品视频| 国产一区二区视频在线播放| 国产原创一区二区| 国产成人在线网站| 成人免费看片app下载| 成人综合日日夜夜| av成人免费在线| 91搞黄在线观看| 7777精品伊人久久久大香线蕉完整版 | 欧美精品一区二区在线播放| 亚洲欧美另类久久久精品2019| 欧美一二三四区在线| 91精品国产日韩91久久久久久| 国产精品美女久久久久久久网站| 国产精品国产三级国产aⅴ中文| 日韩一区在线免费观看| 一区二区三区日韩| 亚洲高清一区二区三区| 美女性感视频久久| 国产精品12区| 91在线码无精品| 欧美日韩中文字幕一区| 日韩三级电影网址|