亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python使用celery實現(xiàn)異步任務(wù)執(zhí)行的例子

 更新時間:2019年08月28日 15:16:32   作者:龔亮亮  
今天小編就為大家分享一篇python使用celery實現(xiàn)異步任務(wù)執(zhí)行的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

使用celery在django項目中實現(xiàn)異步發(fā)送短信

在項目的目錄下創(chuàng)建celery_tasks用于保存celery異步任務(wù)。

在celery_tasks目錄下創(chuàng)建config.py文件,用于保存celery的配置信息

 ```broker_url = "redis://127.0.0.1/14"```

在celery_tasks目錄下創(chuàng)建main.py文件,用于作為celery的啟動文件

from celery import Celery
 # 為celery使用django配置文件進行設(shè)置

import os
if not os.getenv('DJANGO_SETTINGS_MODULE'):
  os.environ['DJANGO_SETTINGS_MODULE'] = 'model.settings.dev'

 # 創(chuàng)建celery應(yīng)用

app = Celery('model')

 #導(dǎo)入celery配置

app.config_from_object('celery_tasks.config')
 #自動注冊celery任務(wù)
app.autodiscover_tasks(['celery_tasks.sms'])

在celery_tasks目錄下創(chuàng)建sms目錄,用于放置發(fā)送短信的異步任務(wù)相關(guān)代碼。

將提供的發(fā)送短信的云通訊SDK放到celery_tasks/sms/目錄下。

在celery_tasks/sms/目錄下創(chuàng)建tasks.py(這個名字是固定的,非常重要,系統(tǒng)將會自動從這個文件中找任務(wù)隊列)文件,用于保存發(fā)送短信的異步任務(wù)

  import logging

  from celery_tasks.main import app
  from .yuntongxun.sms import CCP

  logger = logging.getLogger("django")

   #驗證碼短信模板
  SMS_CODE_TEMP_ID = 1

  @app.task(name='send_sms_code')
    def send_sms_code(mobile, code, expires):

  發(fā)送短信驗證碼
  :param mobile: 手機號
  :param code: 驗證碼
  :param expires: 有效期
  :return: None


  try:
    ccp = CCP()
    result = ccp.send_template_sms(mobile, [code, expires], SMS_CODE_TEMP_ID)
  except Exception as e:
    logger.error("發(fā)送驗證碼短信[異常][ mobile: %s, message: %s ]" % (mobile, e))
  else:
    if result == 0:
      logger.info("發(fā)送驗證碼短信[正常][ mobile: %s ]" % mobile)
    else:
      logger.warning("發(fā)送驗證碼短信[失敗][ mobile: %s ]" % mobile)

在verifications/views.py中改寫SMSCodeView視圖,使用celery異步任務(wù)發(fā)送短信

from celery_tasks.sms import tasks as sms_tasks

class SMSCodeView(GenericAPIView):
  ...
    # 發(fā)送短信驗證碼 這是將時間轉(zhuǎn)化為分鐘,constants.SMS_CODE_REDIS_EXPIRES 是常量
    sms_code_expires = str(constants.SMS_CODE_REDIS_EXPIRES // 60)

    sms_tasks.send_sms_code.delay(mobile, sms_code, sms_code_expires)

    return Response({"message": "OK"})

以上這篇python使用celery實現(xiàn)異步任務(wù)執(zhí)行的例子就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python列表推導(dǎo)式的使用方法

    Python列表推導(dǎo)式的使用方法

    這篇文章主要介紹了Python列表推導(dǎo)式的使用方法,大家參考使用吧
    2013-11-11
  • 對Python3 pyc 文件的使用詳解

    對Python3 pyc 文件的使用詳解

    今天小編就為大家分享一篇對Python3 pyc 文件的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • python中unittest框架應(yīng)用詳解

    python中unittest框架應(yīng)用詳解

    這篇文章主要介紹了Python中Unittest框架的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-09-09
  • python中PS 圖像調(diào)整算法原理之亮度調(diào)整

    python中PS 圖像調(diào)整算法原理之亮度調(diào)整

    這篇文章主要介紹了python中PS 圖像調(diào)整算法原理之亮度調(diào)整,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • python爬蟲實現(xiàn)教程轉(zhuǎn)換成 PDF 電子書

    python爬蟲實現(xiàn)教程轉(zhuǎn)換成 PDF 電子書

    本文給大家分享的是使用python爬蟲實現(xiàn)把《廖雪峰的 Python 教程》轉(zhuǎn)換成PDF的方法和代碼,有需要的小伙伴可以參考下
    2017-02-02
  • python命令行參數(shù)sys.argv使用示例

    python命令行參數(shù)sys.argv使用示例

    這篇文章主要介紹了python命令行參數(shù)sys.argv使用示例,大家參考使用吧
    2014-01-01
  • Python中dtype、type()和astype()的區(qū)別詳解

    Python中dtype、type()和astype()的區(qū)別詳解

    這篇文章主要介紹了Python中dtype、type()和astype()的區(qū)別詳解,type()是python內(nèi)置的函數(shù),type()返回數(shù)據(jù)結(jié)構(gòu)類型(list、dict、numpy.ndarray 等),需要的朋友可以參考下
    2023-08-08
  • Python3.X 線程中信號量的使用方法示例

    Python3.X 線程中信號量的使用方法示例

    信號量semaphore 是一個變量,控制著對公共資源或者臨界區(qū)的訪問。信號量維護著一個計數(shù)器,指定可同時訪問資源或者進入臨界區(qū)的線程數(shù)。下面這篇文章主要給大家介紹了關(guān)于Python3.X 線程中信號量的使用方法,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • 對pandas將dataframe中某列按照條件賦值的實例講解

    對pandas將dataframe中某列按照條件賦值的實例講解

    今天小編就為大家分享一篇對pandas將dataframe中某列按照條件賦值的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Python設(shè)置在shell腳本中自動補全功能的方法

    Python設(shè)置在shell腳本中自動補全功能的方法

    今天小編就為大家分享一篇Python設(shè)置在shell腳本中自動補全功能的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06

最新評論