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

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Django+Celery實(shí)現(xiàn)動(dòng)態(tài)配置定時(shí)任務(wù)的方法示例

瀏覽:182日期:2024-09-30 14:52:40

哈嘍,今天給大家分享一篇Django+Celery實(shí)現(xiàn)動(dòng)態(tài)配置定時(shí)任務(wù),因?yàn)樽罱彩菬o(wú)意間看到一位大佬關(guān)于這塊的文章,然后自己覺(jué)得不錯(cuò),也想學(xué)習(xí)寫(xiě)一下,然后最終實(shí)現(xiàn)功能是在前端頁(yè)面統(tǒng)一管理計(jì)劃任務(wù),大家可以在admin管理頁(yè)面設(shè)置,也可以在自己寫(xiě)的前端頁(yè)面刪除添加編輯,實(shí)時(shí)生效,還可以監(jiān)控這些監(jiān)控任務(wù)是否運(yùn)行成功失敗。

補(bǔ)充:如果大家對(duì)celery不熟悉的話,建議先學(xué)習(xí)celery

Django+Celery實(shí)現(xiàn)動(dòng)態(tài)配置定時(shí)任務(wù)的方法示例

一、安裝

1.在Linux系統(tǒng)上安裝模塊

celery (3.1.26.post2)celery-with-redis (3.0)redis (2.10.6)Django (2.1.10)django-celery (3.3.1)

2.遷移生成表

python manage.py migrate

3.查看生成的表,這幾張表是上面執(zhí)行命令后生成的

Django+Celery實(shí)現(xiàn)動(dòng)態(tài)配置定時(shí)任務(wù)的方法示例

二、配置

1.添加apps

INSTALLED_APPS = [ ’django.contrib.admin’, ’django.contrib.auth’, ’django.contrib.contenttypes’, ’django.contrib.sessions’, ’django.contrib.messages’, ’django.contrib.staticfiles’, ’djcelery’, #這是要添加的]

2.配置django時(shí)區(qū)

LANGUAGE_CODE = ’en-us’TIME_ZONE = ’Asia/Shanghai’USE_I18N = TrueUSE_L10N = TrueUSE_TZ = False

3.Celery配置

BROKER_URL = ’redis://localhost:6379’ #代理人CELERY_RESULT_BACKEND = ’redis://localhost:6379’ #結(jié)果存儲(chǔ)地址CELERY_ACCEPT_CONTENT = [’application/json’] #指定任務(wù)接收的內(nèi)容序列化類(lèi)型CELERY_TASK_SERIALIZER = ’json’ #任務(wù)序列化方式CELERY_RESULT_SERIALIZER = ’json’ #任務(wù)結(jié)果序列化方式CELERY_TASK_RESULT_EXPIRES = 12 * 30 #超過(guò)時(shí)間CELERY_MESSAGE_COMPRESSION = ’zlib’ #是否壓縮CELERYD_CONCURRENCY = 4 #并發(fā)數(shù)默認(rèn)已CPU數(shù)量定CELERYD_PREFETCH_MULTIPLIER = 4 #celery worker 每次去redis取任務(wù)的數(shù)量CELERYD_MAX_TASKS_PER_CHILD = 3 #每個(gè)worker最多執(zhí)行3個(gè)任務(wù)就摧毀,避免內(nèi)存泄漏CELERYD_FORCE_EXECV = True #可以防止死鎖CELERY_ENABLE_UTC = False #關(guān)閉時(shí)區(qū)CELERYBEAT_SCHEDULER = ’djcelery.schedulers.DatabaseScheduler’ # 定時(shí)任務(wù)調(diào)度器

4.在你項(xiàng)目的app下面配置celery.py

import osfrom celery import Celery,platformsfrom django.conf import settingsos.environ.setdefault(’DJANGO_SETTINGS_MODULE’,’blog.settings’)app = Celery(’blog’)app.config_from_object(’django.conf:settings’)app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)platforms.C_FORCE_ROOT = True@app.task(bind=True)def debug_task(self): print(’Request: {0!r}’.format(self.request))

5.配置剛才app下面的__init__.py文件

from __future__ import absolute_importfrom .celery import app as celery_app

6.在app下面創(chuàng)建一個(gè)tasks.py文件

from blog.celery import app@app.task()def get_date(x,y,s):#這里的函數(shù)留意一下,后面會(huì)用到 print(s) return x + y@app.task()def get_task(): return ’test’@app.task()def get_command_task(): return ’success’

三、啟動(dòng)

1.進(jìn)入你項(xiàng)目下面,執(zhí)行啟動(dòng)worker,Worker是執(zhí)行任務(wù)的單元,它實(shí)時(shí)監(jiān)控消息隊(duì)列,如果有任務(wù)就獲取任務(wù)并執(zhí)行它。

celery -A autoops worker -l info

2.進(jìn)入你項(xiàng)目下面,執(zhí)行啟動(dòng)beat,beat是定時(shí)把這個(gè)任務(wù)扔到隊(duì)列中

celery -A autoops beat -l info

3.啟動(dòng)你的django項(xiàng)目

python manage.py runserver 192.168.10.133:8001

4.頁(yè)面展示

4.1這個(gè)是admin頁(yè)面下的,然后我自己重新寫(xiě)了,大家也可以自己寫(xiě)一個(gè),admin和我自己寫(xiě)的頁(yè)面實(shí)現(xiàn)的功能其實(shí)是一模一樣的。

Django+Celery實(shí)現(xiàn)動(dòng)態(tài)配置定時(shí)任務(wù)的方法示例

4.2.對(duì)應(yīng)admin頁(yè)面的crontabs

Django+Celery實(shí)現(xiàn)動(dòng)態(tài)配置定時(shí)任務(wù)的方法示例

添加周期

Django+Celery實(shí)現(xiàn)動(dòng)態(tài)配置定時(shí)任務(wù)的方法示例

編輯修改周期

Django+Celery實(shí)現(xiàn)動(dòng)態(tài)配置定時(shí)任務(wù)的方法示例

5.tasks任務(wù)

5.1.大家可以看到我添加了一個(gè)名為測(cè)試的任務(wù),每隔一分鐘執(zhí)行一次,任務(wù)模板其實(shí)就是你寫(xiě)的tasks文件里面函數(shù)

Django+Celery實(shí)現(xiàn)動(dòng)態(tài)配置定時(shí)任務(wù)的方法示例

Django+Celery實(shí)現(xiàn)動(dòng)態(tài)配置定時(shí)任務(wù)的方法示例

看一下worker進(jìn)程日志輸出

Django+Celery實(shí)現(xiàn)動(dòng)態(tài)配置定時(shí)任務(wù)的方法示例

四、監(jiān)控計(jì)劃任務(wù)

celery作為一個(gè)分布式異步任務(wù)隊(duì)列管理工具,通過(guò)界面化的方式來(lái)進(jìn)行管控任務(wù)的執(zhí)行狀態(tài)和查看任務(wù)執(zhí)行結(jié)果

flower作為web頁(yè)面來(lái)管理celery后臺(tái)任務(wù),和任務(wù)隊(duì)列是隔離的,也就是flower的運(yùn)行與否并不會(huì)影響到任務(wù)隊(duì)列的真正執(zhí)行,但是flower中可以通過(guò)API接口來(lái)管理celery中的任務(wù)執(zhí)行。

4.1安裝flower,監(jiān)控celery計(jì)劃任務(wù)

pip3 install flower==0.9.2 -i http://pypi.douban.com/simple --trusted-host pypi.douban.compip install tornado==5.1.1celery flower -A blog --port=5555 #進(jìn)入項(xiàng)目目錄啟動(dòng)flower

4.2打開(kāi)瀏覽器,輸入http://ip:5555 查看

Django+Celery實(shí)現(xiàn)動(dòng)態(tài)配置定時(shí)任務(wù)的方法示例

Name: 表示該任務(wù)的名稱(chēng),默認(rèn)規(guī)則為該函數(shù)的路徑規(guī)則,例如 {模塊名}.{文件名}.{函數(shù)名}UUID: 表示一個(gè)唯一字符串ID用于表示該任務(wù)State: 表示該任務(wù)的狀態(tài),包括: SUCCESS / FAILURE / STARTED / RECEIVEDSUCCESS 表示該任務(wù)執(zhí)行完畢且成功FAILURE 表示該任務(wù)執(zhí)行失敗STARTED 表示該任務(wù)正在執(zhí)行RECEIVED 表示該任務(wù)在worker中,只是被接收而已a(bǔ)rgs: 表示該任務(wù)的列表參數(shù)kwargs: 表示該任務(wù)的字典參數(shù)Result: 表示該任務(wù)函數(shù)的返回結(jié)果Received: 表示該任務(wù)在worker接收到的時(shí)間Started: 表示該任務(wù)在worker開(kāi)始執(zhí)行的時(shí)間Runtime: 表示該任務(wù)在worker真正執(zhí)行的耗時(shí)(單位:秒)Worker: 表示該任務(wù)所在的worker名稱(chēng)

總結(jié):django+celery實(shí)現(xiàn)的定時(shí)任務(wù)還是不錯(cuò)的,你可以在前端上查看管理所有定時(shí)任務(wù),實(shí)時(shí)修改生效刪除和禁用,所以有需求的話可以去試試。下次再分享啦

到此這篇關(guān)于Django+Celery實(shí)現(xiàn)動(dòng)態(tài)配置定時(shí)任務(wù)的方法示例的文章就介紹到這了,更多相關(guān)Django Celery動(dòng)態(tài)配置定時(shí)任務(wù)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Django
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩欧美中文在线观看| 视频一区视频二区在线观看| 久久高清一区| 日韩专区一卡二卡| 亚洲精品激情| 国产欧美日韩一级| 国产精品高潮呻吟久久久久| 国产精品第十页| 国产一区二区三区久久| 日韩中文影院| 国产精品视区| 欧美有码在线| 国产+成+人+亚洲欧洲在线| 日产精品一区| 亚洲欧洲另类| 亚洲18在线| 久久精品国产免费| 久久人人99| 日韩国产在线不卡视频| 久久亚洲人体| 三级亚洲高清视频| 久久不见久久见中文字幕免费| 日产精品一区二区| 男人的天堂久久精品| 欧美91在线|欧美| 91久久久精品国产| 国产欧美在线观看免费| 日韩亚洲一区在线| 亚洲精品成人一区| 92国产精品| 亚洲乱码视频| 日韩成人综合| 国产麻豆一区| 蜜臀91精品一区二区三区| 免费一级欧美片在线观看网站 | 国产一区成人| 精品国产乱码久久久| 日本强好片久久久久久aaa| 99精品综合| 国产成人精品一区二区免费看京 | 久久久久97| 蜜桃视频免费观看一区| 久久成人高清| 婷婷综合国产| 丝袜脚交一区二区| 999国产精品999久久久久久| 久久91视频| 老色鬼精品视频在线观看播放| 中文字幕一区二区精品区| 激情久久久久久久| 成人午夜精品| 欧美香蕉视频| 中文字幕在线高清| 97精品国产| 亚洲黄色中文字幕| 国产成人免费av一区二区午夜| 国产欧美日韩精品一区二区免费 | 伊人精品久久| 蜜臀av性久久久久蜜臀aⅴ流畅| 中文在线一区| 综合激情网...| 日日摸夜夜添夜夜添国产精品| 欧美日韩日本国产亚洲在线| 久久久一二三| 午夜欧美理论片| 亚洲国产日韩欧美在线| 9国产精品视频| 亚洲综合专区| 国产麻豆一区二区三区精品视频| 日韩av在线播放中文字幕| 日韩精品导航| 久久亚州av| 99久久99视频只有精品| 欧美精品一二| 蜜臀a∨国产成人精品| 欧美精品三级在线| 黄色aa久久| 国产视频一区免费看| 色8久久久久| 国产精品毛片久久| 亚洲福利精品| 亚洲精品在线二区| 精品国产一区二区三区噜噜噜| 天堂√中文最新版在线| 欧美男人天堂| 一本综合精品| 欧美国产美女| 在线一区欧美| 麻豆国产欧美日韩综合精品二区| 亚洲成人不卡| 偷拍亚洲精品| 亚洲国产专区校园欧美| 青草国产精品久久久久久| 日韩免费高清| 日本色综合中文字幕| 欧美亚洲精品在线| 欧美激情日韩| 美女91精品| 欧美gv在线| 97成人在线| 天使萌一区二区三区免费观看| 国产精品成人自拍| 丝袜诱惑制服诱惑色一区在线观看| 精品国产乱码久久久| 亚洲有吗中文字幕| 亚洲网站视频| 国产一区二区三区久久久久久久久| 自拍自偷一区二区三区| 激情久久五月| 日本国产精品| 日韩1区在线| 风间由美中文字幕在线看视频国产欧美| 热久久免费视频| 亚洲色诱最新| 久久精品高清| 国产在线观看www| 美女视频黄 久久| 欧美日韩亚洲一区在线观看| 在线精品亚洲| 免费一级片91| 亚洲伊人影院| 日韩激情一区二区| 91免费精品国偷自产在线在线| 在线看片日韩| 天堂久久av| 欧美日韩1区2区3区| 美国三级日本三级久久99| 欧美日一区二区| 激情久久婷婷| 激情欧美日韩一区| 欧美在线亚洲| 亚洲人成毛片在线播放女女| 日韩在线卡一卡二| 天堂久久av| 国产成人精品亚洲线观看| 91视频精品| 亚洲免费观看| 国产私拍福利精品视频二区| 国产精品一区二区三区四区在线观看| 亚洲一区成人| 亚洲人成高清| 久久精品国产99| 亚洲激情二区| 超碰超碰人人人人精品| 999久久久亚洲| 亚洲神马久久| 国产精品欧美日韩一区| 中文字幕成在线观看| 欧美中文字幕| 国产精品.xx视频.xxtv| 国产综合婷婷| 国产剧情一区| 午夜在线观看免费一区| 久久av网址| 午夜一级久久| 黑森林国产精品av| 香蕉久久久久久| 国产精品亚洲一区二区三区在线观看| 丝袜美腿成人在线| 精品中国亚洲| 日本不卡一区二区三区| 99成人超碰| 风间由美中文字幕在线看视频国产欧美| 亚洲精品电影| caoporn视频在线| 69堂免费精品视频在线播放| 久久精品电影| 欧美精品91| 亚洲字幕久久| 欧美精品羞羞答答| 国产精品成人a在线观看| 亚洲精品在线二区| 亚洲深夜av| 国产在线成人| 麻豆视频一区二区| 亚洲欧美网站在线观看| 天堂日韩电影| 国产精品蜜月aⅴ在线| 少妇精品久久久一区二区| 免播放器亚洲| 亚洲精品一区二区妖精| 亚洲欧洲美洲av| 黑人精品一区| 国产成人精品999在线观看| 国产毛片精品久久| 国产伦精品一区二区三区在线播放| 亚洲精品动态| 综合色一区二区| 日韩精品一区二区三区免费视频 | 亚洲伊人影院| 蜜臀精品一区二区三区在线观看 | av中文字幕在线观看第一页| 国产精品久久777777毛茸茸| 欧美日本精品| 国产视频网站一区二区三区| 久久国产欧美日韩精品| 欧美天堂在线| 麻豆91在线播放| 日韩一区二区在线免费| 久久免费大视频|