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

django中使用Celery 布式任務(wù)隊(duì)列過(guò)程詳解

 更新時(shí)間:2019年07月29日 10:06:58   作者:baagee  
這篇文章主要介紹了django中使用Celery 布式任務(wù)隊(duì)列實(shí)現(xiàn)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

本文記錄django中如何使用celery完成異步任務(wù)。

Celery 是一個(gè)簡(jiǎn)單、靈活且可靠的,處理大量消息的分布式系統(tǒng),并且提供維護(hù)這樣一個(gè)系統(tǒng)的必需工具。

它是一個(gè)專注于實(shí)時(shí)處理的任務(wù)隊(duì)列,同時(shí)也支持任務(wù)調(diào)度。

官方網(wǎng)站

中文文檔

示例一:用戶發(fā)起request,并等待response返回。在本些views中,可能需要執(zhí)行一段耗時(shí)的程序,那么用戶就會(huì)等待很長(zhǎng)時(shí)間,造成不好的用戶體驗(yàn)

示例二:網(wǎng)站每小時(shí)需要同步一次天氣預(yù)報(bào)信息,但是http是請(qǐng)求觸發(fā)的,難道要一小時(shí)請(qǐng)求一次嗎?

使用celery后,情況就不一樣了

示例一的解決:將耗時(shí)的程序放到celery中執(zhí)行

示例二的解決:使用celery定時(shí)執(zhí)行

名詞

任務(wù)task:就是一個(gè)Python函數(shù)

隊(duì)列queue:將需要執(zhí)行的任務(wù)加入到隊(duì)列中

工人worker:在一個(gè)新進(jìn)程中,負(fù)責(zé)執(zhí)行隊(duì)列中的任務(wù)

代理人broker:負(fù)責(zé)調(diào)度,在布置環(huán)境中使用redis

本示例在ubuntu系統(tǒng)中,使用django1.8.2,并且要安裝redis

1,首先需要安裝擴(kuò)展包。

pip install celery==3.1.25
pip install celery-with-redis==3.0
pip install django-celery==3.1.17

2,配置項(xiàng)目setting.py

加入以下代碼:

import djcelery
djcelery.setup_loader()
BROKER_URL = 'redis://127.0.0.1:6379/0'
CELERY_IMPORTS = ('bookstory.task')

CELERY_IMPORTS值是異步任務(wù)函數(shù)所在的位置,比如這個(gè)是bookstory應(yīng)用里面的task.py文件里,如圖:

并且將'djcelery'加入到setting.py的INSTALLED_APPS里面。

3,編寫需要異步執(zhí)行(或者耗時(shí))的功能函數(shù)

編寫task.py文件,假設(shè)我就這樣模擬耗時(shí)操作

# coding=utf-8

import time
from celery import task


@task
def showa():
  # 任務(wù)函數(shù)
  print('hello....')
  time.sleep(5)
  print('world....')

4,遷移,生成celery需要的數(shù)據(jù)表

python manage.py migrate

5,啟動(dòng)worker

python manage.py celery worker --loglevel=info

6,使用

新建一個(gè)視圖函數(shù),并且分配一個(gè)url

from task import *

.........

# celery異步
def showTest(request):
  showa.delay()
  return HttpResponse('哈哈哈')

調(diào)用語(yǔ)法就是:

function.delay(parameters)

function就是task里寫的函數(shù),parameters就是這個(gè)函數(shù)要傳遞的參數(shù),我的showa沒(méi)有傳參數(shù),所以就直接showa.delay()就可以調(diào)用了。

運(yùn)行結(jié)果就是在瀏覽器中并沒(méi)有等待5秒,而是直接輸出'哈哈'了。并沒(méi)有因?yàn)楹臅r(shí)的操作二延遲。在啟動(dòng)worker的窗口里面可以看到hello,world間隔5秒分別輸出了出來(lái):

按照步驟來(lái),其實(shí)并不難,具體異步(耗時(shí))操作根據(jù)具體業(yè)務(wù)在task里面具體編寫就ok了。

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

相關(guān)文章

  • 使用python爬取4K壁紙保存到本地文件夾的全過(guò)程

    使用python爬取4K壁紙保存到本地文件夾的全過(guò)程

    圖片信息豐富多彩,許多網(wǎng)站上都有大量精美的圖片資源,有時(shí)候我們可能需要批量下載這些圖片,而手動(dòng)一個(gè)個(gè)下載顯然效率太低,所以本文給大家介紹了使用python爬取4K壁紙保存到本地文件夾的全過(guò)程,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2024-03-03
  • Python遍歷指定文件夾下的所有文件名的方法小結(jié)

    Python遍歷指定文件夾下的所有文件名的方法小結(jié)

    當(dāng)需要遍歷指定文件夾下的所有文件名時(shí),Python提供了多種方法來(lái)實(shí)現(xiàn)這個(gè)任務(wù),本文將介紹如何使用Python來(lái)完成這一任務(wù),有需要的小伙伴可以參考下
    2024-01-01
  • 使用 Python 和 LabelMe 實(shí)現(xiàn)圖片驗(yàn)證碼的自動(dòng)標(biāo)注功能

    使用 Python 和 LabelMe 實(shí)現(xiàn)圖片驗(yàn)證碼的自動(dòng)標(biāo)注功能

    文章介紹了如何使用Python和LabelMe自動(dòng)標(biāo)注圖片驗(yàn)證碼,主要步驟包括圖像預(yù)處理、OCR識(shí)別和生成標(biāo)注文件,通過(guò)結(jié)合PaddleOCR,可以快速實(shí)現(xiàn)驗(yàn)證碼字符的自動(dòng)標(biāo)注,大幅提升工作效率,感興趣的朋友一起看看吧
    2024-12-12
  • Python基本數(shù)據(jù)類型詳細(xì)介紹

    Python基本數(shù)據(jù)類型詳細(xì)介紹

    Python提供的基本數(shù)據(jù)類型主要有:布爾類型、整型、浮點(diǎn)型、字符串、列表、元組、集合、字典等等
    2014-03-03
  • python監(jiān)控linux內(nèi)存并寫入mongodb(推薦)

    python監(jiān)控linux內(nèi)存并寫入mongodb(推薦)

    這篇文章主要介紹了python監(jiān)控linux內(nèi)存并寫入mongodb的相關(guān)資料,需要的朋友可以參考下
    2017-09-09
  • 分享PyCharm最新激活碼(真永久激活方法)不用每月找安裝參數(shù)或最新激活碼了

    分享PyCharm最新激活碼(真永久激活方法)不用每月找安裝參數(shù)或最新激活碼了

    這篇文章主要介紹了分享PyCharm最新激活碼(真永久激活方法)不用每月找安裝參數(shù)或最新激活碼了一勞永逸,需要的朋友可以參考下
    2020-12-12
  • python中的變量命名規(guī)則詳情

    python中的變量命名規(guī)則詳情

    這篇文章主要介紹了python中的變量命名規(guī)則詳情,變量名可以包括字母、數(shù)字、下劃線,但是數(shù)字不能做為開頭,變量用的好或不好,和代碼質(zhì)量有著非常重要的聯(lián)系,合理的使用變量,可以讓你的代碼可讀性更高并且更加簡(jiǎn)潔,下面相關(guān)內(nèi)容吧需要的小伙伴可以參考一下
    2022-03-03
  • python圖像平滑處理原理

    python圖像平滑處理原理

    這篇文章主要介紹了python圖像平滑處理原理,圖像濾波是圖像處理和計(jì)算機(jī)視覺(jué)中最常用、最基本的操作,文章基于python的相關(guān)資料展開詳細(xì)的內(nèi)容需要的小伙伴可以參考一下
    2022-06-06
  • 10 分鐘快速入門 Python3的教程

    10 分鐘快速入門 Python3的教程

    這篇文章主要介紹了10 分鐘快速入門 Python3的教程,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • python實(shí)現(xiàn)爬取圖書封面

    python實(shí)現(xiàn)爬取圖書封面

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)爬取圖書封面的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07

最新評(píng)論

清水县| 遂昌县| 磐安县| 连山| 安泽县| 昌图县| 潼关县| 兴业县| 饶平县| 老河口市| 兴山县| 鹿泉市| 汕头市| 历史| 鹤山市| 周至县| 丰都县| 德州市| 平谷区| 宿松县| 富源县| 南皮县| 望江县| 安徽省| 平顺县| 广灵县| 库尔勒市| 孟津县| 百色市| 阜阳市| 牡丹江市| 双牌县| 万载县| 泌阳县| 凤冈县| 大渡口区| 镇坪县| 和平区| 德保县| 彩票| 麻城市|