日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Django中使用Celery的方法步驟

瀏覽:278日期:2024-09-15 13:55:26

(一)、概述

Celery是一個簡單、靈活和可靠的基于多任務的分布式系統,為運營提供用于維護此系統的工具。專注于實時處理的任務隊列,同時也支持任務的調度。執行單元為任務(task),利用多線程這些任務可以被并發的在單個或多個職程(worker)上運行。

Celery通過消息機制通信,通常通過中間人(broker)來分配和調節客戶端與職程服務器(worker)之間的通信。客戶端發送一條消息,中間人把消息分配給一個職程,最后由職程來負責執行此任務。

Celery可以有多個職程和中間人,這樣提高了高可用性和橫向的擴展能力

Celery由python語言開發,但是該協議可以用任何語言拉力實現,例如:Django中的Celery、node中的node-celery和php中的celery-php

(二)、Django中使用Celery的流程與配置

導入Celery:pip3 install Celery

在 與項目同名的目錄下 創建celery.py文件,特別注意:項目同名的目錄下

復制內容到該文件

修改兩處內容

os.environ.setdefault(’DJANGO_SETTINGS_MODULE’, ’proj.settings’)中的proj改為項目名 app = Celery(’pro’)中的pro改為項目名

import osfrom celery import Celery# set the default Django settings module for the ’celery’ program.os.environ.setdefault(’DJANGO_SETTINGS_MODULE’, ’proj.settings’)app = Celery(’pro’)# Using a string here means the worker doesn’t have to serialize# the configuration object to child processes.# - namespace=’CELERY’ means all celery-related configuration keys# should have a `CELERY_` prefix.app.config_from_object(’django.conf:settings’, namespace=’CELERY’)# Load task modules from all registered Django app configs.app.autodiscover_tasks()@app.task(bind=True)def debug_task(self): print(f’Request: {self.request!r}’)

在 與項目同名的目錄下 的__init__.py文件中添加內容

# This will make sure the app is always imported when# Django starts so that shared_task will use this app.from .celery import app as celery_app__all__ = (’celery_app’,)

在settings.py文件中添加配置

CELERY_BROKER_URL:中間人url,可以配置redis或者RabbitMQ CELERY_RESULT_BACKEND:返回結果的存儲地址 CELERY_ACCEPT_CONTENT:接收內容的格式,分為兩種:json和msgpack。msgpack比json格式的數據體積更小,傳輸速度更快。 CELERY_TASK_SERIALIZER:任務載荷的序列化方式-->json CELERY_TIMEZONE CELERY_TASK_TRACK_STARTED:是否開啟任務跟蹤 CELERY_TASK_TIME_LIMIT:任務超時限制

# Celery配置CELERY_BROKER_URL = env('CELERY_BROKER_URL')CELERY_RESULT_BACKEND = env('CELERY_RESULT_BACKEND')CELERY_ACCEPT_CONTENT = ['json', 'msgpack']CELERY_TASK_SERIALIZER = 'json'CELERY_TIMEZONE = 'Asia/Shanghai'CELERY_TASK_TRACK_STARTED = TrueCELERY_TASK_TIME_LIMIT = 30 * 60

在app下創建tasks.py文件,創建發送消息功能,任務方法必須添加裝飾器:@shared_task

from rest_framework.response import Responsefrom rest_framework.generics import GenericAPIViewfrom time import sleepfrom celery import shared_taskclass TestView3(GenericAPIView): @classmethod @shared_task def sleep(self, duration): sleep(duration) return Response('成功', status=200)

創建視圖和路由

### views.pyfrom .tasks import TestView3class TestView1(GenericAPIView): def get(self, request): TestView3.sleep(10) return Response('celery實驗成功')test_view_1 = TestView1.as_view()### urls.pyfrom django.urls import pathfrom .views import ( test_view_1)urlpatterns = [ path(’celery/’, test_view_1, name='test1')]

安裝redis并啟動

啟動django項目

使用Celery命令啟動Celery服務,命令:celery -A 項目名 worker -l info,如果如下所示則為啟動成功.

celery@AppledeMacBook-Air.local v5.0.3 (singularity)Darwin-20.1.0-x86_64-i386-64bit 2020-12-05 20:52:17[config].> app: drf_email_project:0x7f84a0c4ad68.> transport: redis://127.0.0.1:6379/1%20.> results: redis://127.0.0.1:6379/2.> concurrency: 4 (prefork).> task events: OFF (enable -E to monitor tasks in this worker)[queues].> celery exchange=celery(direct) key=celery[tasks] . drf_email_project.celery.debug_task . users.tasks.sleep[2020-12-05 20:52:18,166: INFO/MainProcess] Connected to redis://127.0.0.1:6379/1%20[2020-12-05 20:52:18,179: INFO/MainProcess] mingle: searching for neighbors[2020-12-05 20:52:19,212: INFO/MainProcess] mingle: all alone[2020-12-05 20:52:19,248: WARNING/MainProcess] /Users/apple/drf-email/lib/python3.7/site-packages/celery/fixups/django.py:204: UserWarning: Using settings.DEBUG leads to a memory leak, never use this setting in production environments! leak, never use this setting in production environments!’’’)[2020-12-05 20:52:19,249: INFO/MainProces

到此這篇關于Django中使用Celery的方法步驟的文章就介紹到這了,更多相關Django使用Celery的方法步驟內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Django
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
最新亚洲激情| 日韩一区二区三区四区五区| 久久久久国产| 丝瓜av网站精品一区二区| 日日摸夜夜添夜夜添国产精品| 欧美亚洲tv| 久久激情网站| 91tv亚洲精品香蕉国产一区| 麻豆久久久久久久| 国产乱人伦精品一区| 另类国产ts人妖高潮视频| 日韩欧美三级| 999在线观看精品免费不卡网站| 日韩精品一卡二卡三卡四卡无卡| 国产中文欧美日韩在线| 神马午夜久久| 丝瓜av网站精品一区二区| 精品久久影院| 国产99精品一区| 日韩欧美在线中字| 免费在线观看一区二区三区| 精精国产xxxx视频在线野外| 国产自产自拍视频在线观看| 久草免费在线视频| 群体交乱之放荡娇妻一区二区| 欧美有码在线| 亚洲中午字幕| 午夜免费一区| 亚洲综合在线电影| 日韩在线视频精品| 色一区二区三区| 蜜臀精品一区二区三区在线观看| 国产精品高清一区二区| 久久亚洲影院| 激情久久久久久| 国产日韩在线观看视频| 国产成人在线中文字幕| 免费亚洲一区| 日本不卡一区二区| 中文在线а√天堂| 日本视频一区二区| 麻豆极品一区二区三区| 天堂精品久久久久| 日本欧美不卡| 成人三级高清视频在线看| 国产一区二区精品| 久久亚洲国产| 欧美日韩四区| 久久99蜜桃| 91一区二区| 日本在线成人| 日韩欧美中文在线观看| 欧美日韩亚洲一区三区| 青青久久av| 亚洲色图综合| 午夜在线播放视频欧美| 亚洲一区欧美二区| 蘑菇福利视频一区播放| 亚洲色图网站| 日韩精品1区2区3区| 麻豆精品视频在线观看| 国产欧美日韩在线一区二区| 国产美女久久| 欧美偷窥清纯综合图区| 国产精品magnet| 日本高清久久| 国产精品va视频| 97精品一区| 久久中文字幕av一区二区不卡| 香蕉精品久久| 亚洲在线网站| 国产成人精品一区二区免费看京 | 国产在线成人| 欧洲激情综合| 国产精品对白久久久久粗| 精品99在线| 国产欧美精品久久| 成人午夜国产| 综合一区av| 日产午夜精品一线二线三线| 精品日韩毛片| 综合激情网站| 欧美一区91| 99精品视频精品精品视频| 成人啊v在线| 国产精品一区亚洲| 国产精品一区二区三区四区在线观看| 伊人久久婷婷| 亚洲精品进入| 超碰99在线| 老牛国产精品一区的观看方式| 免费福利视频一区二区三区| 精品一区二区三区视频在线播放 | 欧美精品一区二区久久| 国产精品玖玖玖在线资源| 久久午夜精品一区二区| 午夜国产精品视频| 综合日韩av| 99国产精品免费视频观看| 欧美极品一区二区三区| 国产精品久久777777毛茸茸| 国产丝袜一区| 亚洲一区二区免费看| 国产精品视区| 亚洲字幕久久| 日本成人在线一区| 久久福利影视| 欧美1区2区3区| 国产精品日本欧美一区二区三区| 亚洲欧美日韩精品一区二区| 日韩午夜免费| 亚洲精品va| 国产精品美女| 久久亚洲人体| 日本一二区不卡| 亚洲激情婷婷| 国产日韩亚洲| 羞羞答答国产精品www一本| 婷婷视频一区二区三区| 99亚洲视频| 国产精品久久乐| 91偷拍一区二区三区精品| 日韩精品一区二区三区av | 亚洲激情社区| 日韩精品欧美大片| 亲子伦视频一区二区三区| 欧美精品导航| 成人国产精品| 国产精品亲子伦av一区二区三区| 欧美激情视频一区二区三区免费 | 蜜桃av.网站在线观看| 在线手机中文字幕| 伊人精品视频| 欧美日韩一区二区高清| 精品欧美一区二区三区在线观看| 99国内精品| 日韩av自拍| 日韩免费精品| 亚洲成人二区| 麻豆视频观看网址久久| 免费亚洲婷婷| 成人av二区| 国产一区视频在线观看免费| 亚洲精品va| 精品日本视频| 日韩精品一区二区三区中文字幕| 欧美极品中文字幕| 久久天堂成人| 黑森林国产精品av| 欧美精品不卡| 日韩在线观看一区二区| 国产精品一区二区三区四区在线观看| 超碰成人av| 亚洲一区久久| 国产一区精品福利| 国产精品入口久久| 欧美日韩在线播放视频| 五月激情久久| 在线免费观看亚洲| 男女男精品网站| 夜鲁夜鲁夜鲁视频在线播放| 亚洲人成高清| 日韩视频网站在线观看| 欧美a在线观看| 日本精品黄色| 99riav国产精品| 国产精品美女在线观看直播| 久久九九精品| 精品美女在线视频| 四虎在线精品| 尤物精品在线| 日韩av电影一区| 免费视频一区三区| 日韩综合一区| 欧美日韩一区二区三区四区在线观看 | 日韩在线短视频| 国产精品一区2区3区| 亚洲电影在线一区二区三区| 欧美三区四区| 久久夜夜操妹子| 欧美 日韩 国产一区二区在线视频| 精品成人18| 久久国产亚洲精品| 尤物在线精品| 亚洲字幕久久| 九一精品国产| 国产欧美久久一区二区三区| 日韩欧美2区| 日本免费久久| 玖玖玖国产精品| 日韩欧美二区| 午夜久久av| 亚洲一区日本| 日韩国产专区| 欧美激情日韩| 美女精品网站| 福利视频一区| 麻豆一区二区99久久久久| 911精品国产| 亚洲综合福利|