最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python Celery異步任務(wù)隊(duì)列使用方法解析

 更新時(shí)間:2020年08月10日 09:45:50   作者:Yi_warmth  
這篇文章主要介紹了Python Celery異步任務(wù)隊(duì)列使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

Celery是一個(gè)異步的任務(wù)隊(duì)列(也叫做分布式任務(wù)隊(duì)列),一個(gè)簡(jiǎn)單,靈活,可靠的分布式系統(tǒng),用于處理大量消息,同時(shí)為操作提供維護(hù)此類系統(tǒng)所需要的工具。

celery的優(yōu)點(diǎn)

1:簡(jiǎn)單,容易使用,不需要配置文件

2:高可用,任務(wù)執(zhí)行失敗或執(zhí)行過程中發(fā)生連續(xù)中斷,celery會(huì)自動(dòng)嘗試重新執(zhí)行任務(wù)

3:快速,一個(gè)單進(jìn)程的celery每分鐘可以處理上百萬個(gè)任務(wù)

4:靈活,幾乎celery的各個(gè)組件都可以被擴(kuò)展

celery應(yīng)用場(chǎng)景

1:異步發(fā)郵件,一般發(fā)郵件等比較耗時(shí)的操作,這個(gè)時(shí)候需要提交任務(wù)給celery就可以了,由worker進(jìn)行發(fā)郵件操作

2:有些跑批量接口任務(wù),需要耗時(shí)較長(zhǎng),也可以做成異步任務(wù)

3:定時(shí)調(diào)度任務(wù)

Celery與Django一起使用(以發(fā)送短信為例)

獨(dú)立于項(xiàng)目新建一個(gè)package包

在package包中新建一個(gè)名為sms的package包

新建tasks.py文件

#定義耗時(shí)的函數(shù)
from utils.ytx_sdk.sendSMS import CCP
from celery_tasks.main import app

#為函數(shù)添加裝飾器,這個(gè)函數(shù)就成為了celery的任務(wù)
@app.task
def send_sms_code(mobile,code,expires,template_id):
  try:
    # CCP.sendTemplateSMS(mobile,code,expires,template_id)
    print(code)
  except:
    return '發(fā)送短信失敗'

在package包中新建config.py

內(nèi)容如下(中間人,接收生產(chǎn)者發(fā)來的消息即Task,將任務(wù)存入隊(duì)列。任務(wù)的消費(fèi)者是Worker。Celery本身不提供隊(duì)列服務(wù),推薦用Redis或RabbitMQ實(shí)現(xiàn)隊(duì)列服務(wù)。)

#指定代理人隊(duì)列==>redis
broker_url='redis://127.0.0.1:6379/15'

在package包中新建main.py

內(nèi)容如下(需要將task注冊(cè)到celery應(yīng)用中)

#啟動(dòng)工人的文件
from celery import Celery
# 為celery使用django配置文件進(jìn)行設(shè)置
import os
if not os.getenv('DJANGO_SETTINGS_MODULE'):
  os.environ['DJANGO_SETTINGS_MODULE'] = 'yinyue.settings.dev'
# 創(chuàng)建celery應(yīng)用
app = Celery('yinyue')
# 導(dǎo)入celery配置
app.config_from_object('celery_tasks.config')
# 自動(dòng)注冊(cè)celery任務(wù)
app.autodiscover_tasks([
  'celery_tasks.sms'
])

在django框架對(duì)應(yīng)模塊的視圖中使用

#調(diào)用celery的任務(wù):任務(wù)名.delay(參數(shù))
send_sms_code.delay(mobile,code,constants.SMS_CODE_EXPIRES/60,1)

啟動(dòng)celery服務(wù): celery -A celery_tasks.main worker -l info

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 深入了解Python 方法之類方法 & 靜態(tài)方法

    深入了解Python 方法之類方法 & 靜態(tài)方法

    這篇文章主要介紹了Python類方法 & 靜態(tài)方法的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-08-08
  • Python實(shí)現(xiàn)查詢某個(gè)目錄下修改時(shí)間最新的文件示例

    Python實(shí)現(xiàn)查詢某個(gè)目錄下修改時(shí)間最新的文件示例

    這篇文章主要介紹了Python實(shí)現(xiàn)查詢某個(gè)目錄下修改時(shí)間最新的文件,涉及Python使用os與shutil模塊針對(duì)文件的遍歷、屬性獲取、讀寫等相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08
  • windows 10 設(shè)定計(jì)劃任務(wù)自動(dòng)執(zhí)行 python 腳本的方法

    windows 10 設(shè)定計(jì)劃任務(wù)自動(dòng)執(zhí)行 python 腳本的方法

    這篇文章主要介紹了windows 10 設(shè)定計(jì)劃任務(wù)自動(dòng)執(zhí)行 python 腳本的方法,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Python實(shí)現(xiàn)替換文件中指定內(nèi)容的方法

    Python實(shí)現(xiàn)替換文件中指定內(nèi)容的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)替換文件中指定內(nèi)容的方法,涉及Python文件讀寫、字符串替換等相關(guān)操作技巧,需要的朋友可以參考下
    2018-03-03
  • Python通過tkinter實(shí)現(xiàn)百度搜索的示例代碼

    Python通過tkinter實(shí)現(xiàn)百度搜索的示例代碼

    這篇文章主要介紹了Python通過tkinter實(shí)現(xiàn)百度搜索的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • python不同版本的_new_不同點(diǎn)總結(jié)

    python不同版本的_new_不同點(diǎn)總結(jié)

    在本篇內(nèi)容里小編給大家整理了一篇關(guān)于python不同版本的_new_不同點(diǎn)總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • Python學(xué)習(xí)之循環(huán)方法詳解

    Python學(xué)習(xí)之循環(huán)方法詳解

    循環(huán)是有著周而復(fù)始的運(yùn)動(dòng)或變化的規(guī)律;在 Python 中,循環(huán)的操作也叫做 遍歷。與現(xiàn)實(shí)中一樣,Python 中也同樣存在著無限循環(huán)的方法與有限循環(huán)的方法。本文將通過示例詳細(xì)講解Python中的循環(huán)方法,需要的可以參考一下
    2022-03-03
  • python爬蟲基本知識(shí)

    python爬蟲基本知識(shí)

    最近在做一個(gè)項(xiàng)目,這個(gè)項(xiàng)目需要使用網(wǎng)絡(luò)爬蟲從特定網(wǎng)站上爬取數(shù)據(jù),于是乎,我打算寫一個(gè)爬蟲系列的文章,與大家分享如何編寫一個(gè)爬蟲。下面這篇文章給大家介紹了python爬蟲基本知識(shí),感興趣的朋友一起看看吧
    2018-03-03
  • 用Python將庫打包發(fā)布到pypi

    用Python將庫打包發(fā)布到pypi

    這篇文章主要介紹了用Python將庫打包發(fā)布到pypi,文中有很詳細(xì)的代碼作參考,對(duì)正在學(xué)習(xí)python的小伙伴們有很好的學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-04-04
  • python非遞歸全排列實(shí)現(xiàn)方法

    python非遞歸全排列實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄猵ython非遞歸全排列實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04

最新評(píng)論

景谷| 北流市| 吉木乃县| 松原市| 平舆县| 建湖县| 德江县| 从江县| 海晏县| 宁晋县| 阿克苏市| 东海县| 米泉市| 呈贡县| 林芝县| 横山县| 新津县| 云霄县| 龙江县| 同心县| 嘉禾县| 乌拉特后旗| 高台县| 武鸣县| 本溪| 长沙市| 化隆| 抚松县| 宝丰县| 沙河市| 崇阳县| 布拖县| 榆中县| 寻甸| 乳山市| 康平县| 长岛县| 璧山县| 南通市| 神农架林区| 泾源县|