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

首頁 > 編程 > Python > 正文

Django中使用celery完成異步任務的示例代碼

2020-02-22 22:57:01
字體:
來源:轉載
供稿:網友

本文主要介紹如何在django中用celery完成異步任務,web項目中為了提高用戶體驗可以對一些耗時操作放到異步隊列中去執行,例如激活郵件,后臺計算操作等等 當前項目環境為: django==1.11.8 celery==3.1.25 redis==2.10.6 pip==9.0.1 python3==3.5.2 django-celery==3.1.17

一,創建Django項目及celery配置

1,創建Django項目

1>打開終端輸入:django-admin startproject TestCelery 創建django項目('TestCelery'是項目名稱)

2>進行TestCelery在終端輸入指令:django-admin startapp testcelery 創建應用('testcelery為應用名稱')

2, 為celery設置環境變量

1>項目中在TestCelery中創建celery.py文件(與setting.py同級)輸入以下內容:         

from celery import Celeryfrom django.conf import settingsimport os# 為celery設置環境變量os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'TestCelery.settings')# 創建應用app = Celery('testcelery')# 酸配置應用app.conf.update(    # 本地Redis服務器  BROKER_URL='redis://127.0.0.1:6379/2',)app.autodiscover_tasks(settings.INSTALLED_APPS)

2>當前項目目錄如下圖所示:

                                 

二,創建任務tasks,編寫視圖View及urls

1, 在testcelery應用中新建tasks.py文件,并寫入要進行處理的任務:         

from TestCelery.celery import appfrom time import sleep@app.taskdef start_running(nums):  print('***>%s<***' %nums)  print('--->>開始執行任務<<---')  for i in range(10):    print('>>'*(i+1))    sleep(1)  print('>---任務結束---<')

2,編寫view視圖,并寫入調用client的方法

from django.views import Viewfrom django.http import HttpResponsefrom .tasks import start_runningfrom time import sleep# Create your views here.class IdexView(View):  def get(self, request):    print('>=====開始發送請求=====<')    for i in range(10):      print('>>',end='')      sleep(0.1)    start_running.delay('》》》》》我是傳送過來的《《《《《')    return HttpResponse('<h2> 請求已發送 </h2>')

3,編寫testcelery應用的usrls

from django.conf.urls import urlfrom .views import *urlpatterns = [  url(r'^$', IdexView.as_view()),]            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 明溪县| 海口市| 衡山县| 泗洪县| 潮州市| 临沧市| 平舆县| 吴堡县| 芜湖县| 县级市| 彰武县| 曲靖市| 洱源县| 安塞县| 台北市| 淳化县| 宝清县| 吴堡县| 从化市| 改则县| 新津县| 镇江市| 昭通市| 武乡县| 西贡区| 广东省| 揭西县| 自治县| 刚察县| 文成县| 辽源市| 迁西县| 东光县| 大连市| 新沂市| 敖汉旗| 孟津县| 镇康县| 阿瓦提县| 万山特区| 乌兰察布市|