国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Django使用Celery異步任務(wù)隊(duì)列的使用

2020-02-22 23:26:23
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

1 Celery簡(jiǎn)介

Celery是異步任務(wù)隊(duì)列,可以獨(dú)立于主進(jìn)程運(yùn)行,在主進(jìn)程退出后,也不影響隊(duì)列中的任務(wù)執(zhí)行。

任務(wù)執(zhí)行異常退出,重新啟動(dòng)后,會(huì)繼續(xù)執(zhí)行隊(duì)列中的其他任務(wù),同時(shí)可以緩存停止期間接收的工作任務(wù),這個(gè)功能依賴(lài)于消息隊(duì)列(MQ、Redis)。

1.1 Celery原理

Celery的 架構(gòu) 由三部分組成,消息中間件(message broker),任務(wù)執(zhí)行單元(worker)和任務(wù)執(zhí)行結(jié)果存儲(chǔ)(task result store)組成。

消息中間件:Celery本身不提供消息服務(wù),但是可以方便的和第三方提供的消息中間件集成。包括, RabbitMQ ,  Redis ,  MongoDB  (experimental), Amazon SQS (experimental),CouchDB (experimental), SQLAlchemy (experimental),Django ORM (experimental), IronMQ。推薦使用:RabbitMQ、Redis作為消息隊(duì)列。

任務(wù)執(zhí)行單元:Worker是Celery提供的任務(wù)執(zhí)行的單元,worker并發(fā)的運(yùn)行在分布式的系統(tǒng)節(jié)點(diǎn)中。

任務(wù)結(jié)果存儲(chǔ):Task result store用來(lái)存儲(chǔ)Worker執(zhí)行的任務(wù)的結(jié)果,Celery支持以不同方式存儲(chǔ)任務(wù)的結(jié)果,包括AMQP, Redis,memcached, MongoDB,SQLAlchemy, Django ORM,Apache Cassandra, IronCache

1.2Celery適用場(chǎng)景

異步任務(wù)處理:例如給注冊(cè)用戶(hù)發(fā)送短消息或者確認(rèn)郵件任務(wù)。 大型任務(wù):執(zhí)行時(shí)間較長(zhǎng)的任務(wù),例如視頻和圖片處理,添加水印和轉(zhuǎn)碼等,需要執(zhí)行任務(wù)時(shí)間長(zhǎng)。 定時(shí)執(zhí)行的任務(wù):支持任務(wù)的定時(shí)執(zhí)行和設(shè)定時(shí)間執(zhí)行。例如性能壓測(cè)定時(shí)執(zhí)行。

 2Celery開(kāi)發(fā)環(huán)境準(zhǔn)備

 2.1 環(huán)境準(zhǔn)備

軟件名稱(chēng)

版本號(hào)

說(shuō)明

Linux

Centos 6.5(64bit)

操作系統(tǒng)

Python

3.5.2

Django

1.10

Web框架

Celery

4.0.2

異步任務(wù)隊(duì)列

Redis

2.4

消息隊(duì)列

2.2     Celery安裝

使用方法介紹:

Celery的運(yùn)行依賴(lài)消息隊(duì)列,使用時(shí)需要安裝redis或者rabbit。

這里我們使用Redis。安裝redis庫(kù):

sudo yum install redis
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 崇明县| 阿拉善左旗| 江阴市| 梓潼县| 邛崃市| 朝阳区| 阳谷县| 江华| 辉县市| 台山市| 东源县| 略阳县| 勐海县| 北海市| 界首市| 奉新县| 高密市| 绥化市| 临漳县| 贵州省| 阿克陶县| 大丰市| 海原县| 桃源县| 千阳县| 元朗区| 诸暨市| 濮阳市| 汪清县| 清水河县| 仙居县| 额敏县| 襄汾县| 任丘市| 宜君县| 仪征市| 来安县| 仪征市| 清河县| 屏山县| 阿勒泰市|