Django中使用Celery執(zhí)行定時(shí)任務(wù)問題
使用Celery執(zhí)行定時(shí)任務(wù)
這Django中使用Celery執(zhí)行異步任務(wù)里是引用
這個(gè)是接上一個(gè)異步任務(wù)的代碼
定時(shí)任務(wù)
1. tasks.py中新增兩個(gè)定時(shí)方法
# 定時(shí)任務(wù)1 @celery_app.task() def my_crontab(x, y): print(x, y) print(f'x 和 y 相加 = {x+y}') return x + y # 定時(shí)任務(wù)2 @celery_app.task() def my_print(): print('一生所愛')
2. celery.py
from __future__ import absolute_import, unicode_literals import os from celery import Celery from django.conf import settings # set the default Django settings module for the 'celery' program. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'DjangoFunction.settings') app = Celery('test_celery') # 定義全局的Celery任務(wù) test_celery 隨便寫 # 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(['CeleryFunc']) # 把需要用定時(shí)任務(wù)的APP加進(jìn)去 from datetime import timedelta # 新增的定時(shí)方法案列 # sum-task 名字任意取 app.conf.update( CELERYBEAT_SCHEDULE={ 'sum-task': { 'task': 'CeleryFunc.tasks.my_crontab', 'schedule': timedelta(seconds=5), 'args': (5, 6) }, 'sum-task1': { 'task': 'CeleryFunc.tasks.my_print', 'schedule': timedelta(seconds=3), 'args': () }, } ) @app.task(bind=True) def debug_task(self): print('Request: {0!r}'.format(self.request))
3. 啟動(dòng)
先啟動(dòng)項(xiàng)目,然后分別執(zhí)行下面兩個(gè)命令
celery -A DjangoFunction beat -l info celery -A DjangoFunction worker -l info -P eventlet
celery -A DjangoFunction beat -l info 啟動(dòng)后的視圖
celery -A DjangoFunction worker -l info -P eventlet 啟動(dòng)后的視圖
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
用Django寫天氣預(yù)報(bào)查詢網(wǎng)站
今天小編就為大家分享一篇關(guān)于用Django寫天氣預(yù)報(bào)查詢網(wǎng)站的文章,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-10-10python中字符串String及其常見操作指南(方法、函數(shù))
String方法是用來處理代碼中的字符串的,它幾乎能搞定你所遇到的所有字符串格式,下面這篇文章主要給大家介紹了關(guān)于python中字符串String及其常見操作(方法、函數(shù))的相關(guān)資料,需要的朋友可以參考下2022-04-04python定時(shí)采集攝像頭圖像上傳ftp服務(wù)器功能實(shí)現(xiàn)
本文程序?qū)崿F(xiàn)python定時(shí)采集攝像頭圖像上傳ftp服務(wù)器功能,大家參考使用吧2013-12-12Python新手如何進(jìn)行閉包時(shí)綁定變量操作
在本篇文章里小編給大家分享的是關(guān)于Python新閉包時(shí)綁定變量實(shí)例,有興趣的朋友們可以參考下。2020-05-05Python 2種方法求某個(gè)范圍內(nèi)的所有素?cái)?shù)(質(zhì)數(shù))
這篇文章主要介紹了Python 2種方法求某個(gè)范圍內(nèi)的所有素?cái)?shù)(質(zhì)數(shù)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01Python編碼規(guī)范擺脫P(yáng)ython編碼噩夢(mèng)
Python 中編碼問題,一直是很多 Python 開發(fā)者的噩夢(mèng),盡管你是工作多年的 Python 開發(fā)者,也肯定會(huì)經(jīng)常遇到令人神煩的編碼問題,收藏這篇文章以后你可以不用再Google2021-10-10Python實(shí)現(xiàn)刪除重復(fù)文件的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)刪除重復(fù)文件功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定的幫助,感興趣的小伙伴的可以了解一下2023-02-02在python中使用SQLAlchemy查詢PostgreSQL視圖的流程步驟
作為軟件開發(fā)人員,查詢 PostgreSQL 視圖是一項(xiàng)常見任務(wù),使用視圖(代表SQL 查詢輸出的虛擬表)被認(rèn)為是處理關(guān)系數(shù)據(jù)庫時(shí)的有效方法,本文介紹如何在 Python 中使用 SQLAlchemy 查詢 PostgreSQL 視圖,需要的朋友可以參考下2023-09-09解決Django的request.POST獲取不到內(nèi)容的問題
今天小編就為大家分享一篇解決Django的request.POST獲取不到內(nèi)容的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-05-05