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

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

Django+Celery實現動態配置定時任務的方法示例

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

哈嘍,今天給大家分享一篇Django+Celery實現動態配置定時任務,因為最近也是無意間看到一位大佬關于這塊的文章,然后自己覺得不錯,也想學習寫一下,然后最終實現功能是在前端頁面統一管理計劃任務,大家可以在admin管理頁面設置,也可以在自己寫的前端頁面刪除添加編輯,實時生效,還可以監控這些監控任務是否運行成功失敗。

補充:如果大家對celery不熟悉的話,建議先學習celery

Django+Celery實現動態配置定時任務的方法示例

一、安裝

1.在Linux系統上安裝模塊

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.查看生成的表,這幾張表是上面執行命令后生成的

Django+Celery實現動態配置定時任務的方法示例

二、配置

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時區

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’ #結果存儲地址CELERY_ACCEPT_CONTENT = [’application/json’] #指定任務接收的內容序列化類型CELERY_TASK_SERIALIZER = ’json’ #任務序列化方式CELERY_RESULT_SERIALIZER = ’json’ #任務結果序列化方式CELERY_TASK_RESULT_EXPIRES = 12 * 30 #超過時間CELERY_MESSAGE_COMPRESSION = ’zlib’ #是否壓縮CELERYD_CONCURRENCY = 4 #并發數默認已CPU數量定CELERYD_PREFETCH_MULTIPLIER = 4 #celery worker 每次去redis取任務的數量CELERYD_MAX_TASKS_PER_CHILD = 3 #每個worker最多執行3個任務就摧毀,避免內存泄漏CELERYD_FORCE_EXECV = True #可以防止死鎖CELERY_ENABLE_UTC = False #關閉時區CELERYBEAT_SCHEDULER = ’djcelery.schedulers.DatabaseScheduler’ # 定時任務調度器

4.在你項目的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下面創建一個tasks.py文件

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

三、啟動

1.進入你項目下面,執行啟動worker,Worker是執行任務的單元,它實時監控消息隊列,如果有任務就獲取任務并執行它。

celery -A autoops worker -l info

2.進入你項目下面,執行啟動beat,beat是定時把這個任務扔到隊列中

celery -A autoops beat -l info

3.啟動你的django項目

python manage.py runserver 192.168.10.133:8001

4.頁面展示

4.1這個是admin頁面下的,然后我自己重新寫了,大家也可以自己寫一個,admin和我自己寫的頁面實現的功能其實是一模一樣的。

Django+Celery實現動態配置定時任務的方法示例

4.2.對應admin頁面的crontabs

Django+Celery實現動態配置定時任務的方法示例

添加周期

Django+Celery實現動態配置定時任務的方法示例

編輯修改周期

Django+Celery實現動態配置定時任務的方法示例

5.tasks任務

5.1.大家可以看到我添加了一個名為測試的任務,每隔一分鐘執行一次,任務模板其實就是你寫的tasks文件里面函數

Django+Celery實現動態配置定時任務的方法示例

Django+Celery實現動態配置定時任務的方法示例

看一下worker進程日志輸出

Django+Celery實現動態配置定時任務的方法示例

四、監控計劃任務

celery作為一個分布式異步任務隊列管理工具,通過界面化的方式來進行管控任務的執行狀態和查看任務執行結果

flower作為web頁面來管理celery后臺任務,和任務隊列是隔離的,也就是flower的運行與否并不會影響到任務隊列的真正執行,但是flower中可以通過API接口來管理celery中的任務執行。

4.1安裝flower,監控celery計劃任務

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 #進入項目目錄啟動flower

4.2打開瀏覽器,輸入http://ip:5555 查看

Django+Celery實現動態配置定時任務的方法示例

Name: 表示該任務的名稱,默認規則為該函數的路徑規則,例如 {模塊名}.{文件名}.{函數名}UUID: 表示一個唯一字符串ID用于表示該任務State: 表示該任務的狀態,包括: SUCCESS / FAILURE / STARTED / RECEIVEDSUCCESS 表示該任務執行完畢且成功FAILURE 表示該任務執行失敗STARTED 表示該任務正在執行RECEIVED 表示該任務在worker中,只是被接收而已args: 表示該任務的列表參數kwargs: 表示該任務的字典參數Result: 表示該任務函數的返回結果Received: 表示該任務在worker接收到的時間Started: 表示該任務在worker開始執行的時間Runtime: 表示該任務在worker真正執行的耗時(單位:秒)Worker: 表示該任務所在的worker名稱

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

到此這篇關于Django+Celery實現動態配置定時任務的方法示例的文章就介紹到這了,更多相關Django Celery動態配置定時任務內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Django
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
136国产福利精品导航网址| 亚洲三级网址| 日韩精品成人| 中文字幕一区二区精品区| 久久电影一区| 亚洲三级毛片| 日韩av一区二区三区| 国产色噜噜噜91在线精品| 日本va欧美va精品发布| 欧美在线观看天堂一区二区三区| 国产日韩欧美高清免费| 欧美国产先锋| 亚洲女同av| 婷婷成人综合| 亚洲色图网站| 国产欧美二区| 精品精品99| 成人三级高清视频在线看| 亚洲伦乱视频| 亚洲欧洲午夜| 日韩精品一区二区三区中文字幕| 欧美亚洲免费| 97精品国产一区二区三区 | 嫩呦国产一区二区三区av| 国产精久久久| 91一区二区三区四区| 欧美高清一区| 在线精品一区二区| 国产视频一区二| 综合日韩av| 激情欧美一区| 日韩精品一区二区三区免费视频| 欧美精品91| 久久精品亚洲人成影院| 国产一区91| 国产精品中文| 亚洲v在线看| 亚洲免费毛片| 精品丝袜久久| 999视频精品| 亚洲欧洲日韩精品在线| 美女视频网站久久| 国产91精品对白在线播放| 中文字幕一区日韩精品| 久久精品一区二区国产| 久久九九精品| 日韩精品一区二区三区中文字幕| 成人在线黄色| 在线免费观看亚洲| 国产精品99一区二区三| 伊人成人网在线看| 国产伦精品一区二区三区千人斩 | 国产乱码精品一区二区三区四区| 人在线成免费视频| 亚洲婷婷丁香| 国产精品13p| 蜜臀av性久久久久蜜臀aⅴ流畅 | 中文字幕av亚洲精品一部二部 | 国产欧美一区二区精品久久久| 日韩理论视频| 亚洲精品无播放器在线播放| 精品国产亚洲日本| 欧美在线亚洲| 国产精品v亚洲精品v日韩精品| 国产一区日韩一区| 国产日韩1区| 美女网站一区| 欧美激情91| 香蕉久久国产| 亚洲国产成人二区| 亚洲精品无吗| 99久久久久| 久久av免费看| 亚洲aa在线| 欧美日韩水蜜桃| 国产欧美在线观看免费| 亚洲黄色影院| 欧美日韩国产观看视频| 日韩动漫一区| 六月丁香综合| 在线视频观看日韩| 日韩成人精品一区二区| 亚洲精品系列| 激情综合网站| 日本久久综合| 国产精品网址| 日韩国产欧美一区二区三区| 午夜国产精品视频免费体验区| 美女高潮久久久| 91福利精品在线观看| 午夜在线一区二区| 久久青草久久| 精品成av人一区二区三区| 天海翼精品一区二区三区| 激情久久久久久| 日韩电影免费网站| 麻豆精品久久| 国产日韩1区| 日韩欧美激情电影| 久久亚洲图片| 国产偷自视频区视频一区二区| 久久九九99| se01亚洲视频 | 综合国产在线| 亚洲少妇自拍| 激情自拍一区| 久久网站免费观看| av高清一区| 黄色aa久久| 日韩毛片视频| 日本蜜桃在线观看视频| av最新在线| 丁香婷婷久久| 成人午夜亚洲| 精品美女在线视频| 麻豆国产一区| 精品三级国产| 国产一区二区三区久久| 另类欧美日韩国产在线| 国产欧美啪啪| 国产高清亚洲| 麻豆成人91精品二区三区| 国产精品玖玖玖在线资源| 国产精品一区免费在线| 免费在线日韩av| 久久精品毛片| 国产不卡人人| 99久久婷婷| 亚洲欧洲一区| 中文字幕日韩欧美精品高清在线| 视频国产精品| 久久精品av麻豆的观看方式| 国产欧美综合一区二区三区| 91精品在线免费视频| 91国内精品| 卡一卡二国产精品| 日韩理论片av| 尹人成人综合网| 色婷婷成人网| 国产精品99精品一区二区三区∴| 欧美a在线观看| 日本在线高清| 伊人精品视频| 日本亚洲欧洲无免费码在线| 欧美自拍一区| 国际精品欧美精品| 久久精品不卡| 免费观看在线综合色| 视频一区中文字幕精品| 91精品国产经典在线观看| 蜜桃精品视频| 99精品在线| 午夜电影一区| 久久尤物视频| 天堂8中文在线最新版在线| 香蕉国产精品| 日本国产欧美| 国产 日韩 欧美 综合 一区| 婷婷精品视频| 日韩和欧美一区二区| 成人高清一区| 巨乳诱惑日韩免费av| 国产精品夜夜夜| 日韩一区自拍| 国产精品婷婷| 国产精品对白| 久久国产主播| 欧美一区二区三区免费看| 91综合网人人| 中文字幕亚洲在线观看| 国产成人77亚洲精品www| 最新亚洲一区| 免费观看亚洲天堂| 激情久久婷婷| 国产欧美日韩免费观看| 999久久久亚洲| 国产亚洲精品美女久久久久久久久久| 高清av不卡| 丝袜美腿亚洲一区| 美腿丝袜亚洲一区| 亚洲少妇在线| 久久精品国产亚洲aⅴ| 国产毛片久久| 国产va免费精品观看精品视频| 国产精品免费看| 精品九九在线| 亚洲精选成人| 久久男女视频| 国产伦理一区| 免费精品视频| 91嫩草亚洲精品| 日韩黄色在线观看| 欧美成人日韩| 国产欧美另类| 欧美网站在线| 高潮久久久久久久久久久久久久| 亚洲五月综合| 999久久久免费精品国产| 欧美国产视频| 一二三区精品|