日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Django celery6.4

發布時間:2023/11/28 生活经验 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Django celery6.4 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

celery

  • 官方網站
  • 中文文檔
  • 示例一:用戶發起request,并等待response返回。在本些views中,可能需要執行一段耗時的程序,那么用戶就會等待很長時間,造成不好的用戶體驗
  • 示例二:網站每小時需要同步一次天氣預報信息,但是http是請求觸發的,難道要一小時請求一次嗎?
  • 使用celery后,情況就不一樣了
  • 示例一的解決:將耗時的程序放到celery中執行
  • 示例二的解決:使用celery定時執行

名詞

  • 任務task:就是一個Python函數
  • 隊列queue:將需要執行的任務加入到隊列中
  • 工人worker:在一個新進程中,負責執行隊列中的任務
  • 代理人broker:負責調度,在布置環境中使用redis

使用

  • 安裝包
celery==3.1.25
celery-with-redis==3.0
django-celery==3.1.17
  • 配置settings
INSTALLED_APPS = (...'djcelery',
}...import djcelery
djcelery.setup_loader()
BROKER_URL = 'redis://127.0.0.1:6379/0'
CELERY_IMPORTS = ('應用名稱.task')
  • 在應用目錄下創建task.py文件
import time
from celery import task@task
def sayhello():print('hello ...')time.sleep(2)print('world ...')
  • 遷移,生成celery需要的數據表
python manage.py migrate
  • 啟動Redis
sudo redis-server /etc/redis/redis.conf
  • 啟動worker
python manage.py celery worker --loglevel=info
  • 調用語法
function.delay(parameters)
  • 使用代碼
#from task import *def sayhello(request):print('hello ...')import timetime.sleep(10)print('world ...')# sayhello.delay()return HttpResponse("hello world")

總結

以上是生活随笔為你收集整理的Django celery6.4的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。