Django中使用Celery執(zhí)行定時(shí)任務(wù)問(wèn)題
使用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('一生所愛(ài)')
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 隨便寫(xiě)
# 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)文章
Python3簡(jiǎn)單實(shí)例計(jì)算同花的概率代碼
這篇文章主要介紹了Python3簡(jiǎn)單實(shí)例計(jì)算同花的概率代碼,具有一定參考價(jià)值,需要的朋友可以了解下。2017-12-12
Python 詳解爬取并統(tǒng)計(jì)CSDN全站熱榜標(biāo)題關(guān)鍵詞詞頻流程
讀萬(wàn)卷書(shū)不如行萬(wàn)里路,只學(xué)書(shū)上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Python爬取CSDN全站綜合熱榜標(biāo)題,順便統(tǒng)計(jì)關(guān)鍵詞詞頻,大家可以在過(guò)程中查缺補(bǔ)漏,提升水平2021-11-11
python nohup 實(shí)現(xiàn)遠(yuǎn)程運(yùn)行不宕機(jī)操作
這篇文章主要介紹了python nohup 實(shí)現(xiàn)遠(yuǎn)程運(yùn)行不宕機(jī)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04
python實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)源碼
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)源碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-02-02
python imread讀取文件失敗的問(wèn)題及解決
這篇文章主要介紹了python imread讀取文件失敗的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
淺談python腳本設(shè)置運(yùn)行參數(shù)的方法
今天小編就為大家分享一篇淺談python腳本設(shè)置運(yùn)行參數(shù)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
python轉(zhuǎn)換pkl模型文件為txt文件問(wèn)題
這篇文章主要介紹了python轉(zhuǎn)換pkl模型文件為txt文件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06

