色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

瀏覽:4日期:2022-07-14 15:29:22

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í)行過(guò)程中發(fā)生連續(xù)中斷,celery會(huì)自動(dòng)嘗試重新執(zhí)行任務(wù)

3:快速,一個(gè)單進(jìn)程的celery每分鐘可以處理上百萬(wàn)個(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 CCPfrom celery_tasks.main import app#為函數(shù)添加裝飾器,這個(gè)函數(shù)就成為了celery的任務(wù)@app.taskdef 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ā)來(lái)的消息即Task,將任務(wù)存入隊(duì)列。任務(wù)的消費(fèi)者是Worker。Celery本身不提供隊(duì)列服務(wù),推薦用Redis或RabbitMQ實(shí)現(xiàn)隊(duì)列服務(wù)。)

#指定代理人隊(duì)列==>redisbroker_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 osif 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í)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 国产人成免费视频 | 黄色网址进入 | 国产欧美日韩精品一区二 | 国产一区2区| 久久91亚洲精品中文字幕奶水 | 日本韩经典三级在线播放 | 岛国在线免费观看 | 欧美性猛交xxxx免费看手交 | 亚洲免费成人在线 | 天堂mv亚洲mv在线播放9蜜 | 日本道在线播放 | 亚洲精品专区一区二区欧美 | 日韩视频精品在线 | 日本高清色视频www 日本高清在线精品一区二区三区 | 国产亚洲精品激情一区二区三区 | 国产a区| 性盈盈影院影院67194 | 国产伦码精品一区二区三区 | 久久国产精品视频一区 | 91成人啪国产啪永久地址 | 美女视频黄的免费看网站 | 国产伦精品一区二区三区四区 | 毛片免费网址 | www.91久久 | 亚洲 [12p] | 欧美大片国产在线永久播放 | 久久草在线看 | 精品久久久久久影院免费 | 国产一区二区三区亚洲欧美 | 精品视频一区二区三区在线观看 | 国产精选在线播放 | 久久熟| 99爱在线精品视频免费观看9 | 亚洲视频1区 | aaaa欧美高清免费 | 成人男男黄网色视频免费 | 艳女伦交一级毛片 | 亚洲欧美综合一区二区三区四区 | 日本成人不卡视频 | 国产视频一区二区三区四区 | 久久精品国产6699国产精 |