欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django中使用Celery執(zhí)行定時(shí)任務(wù)問題

 更新時(shí)間:2023年11月24日 09:19:28   作者:G_scsd  
這篇文章主要介紹了Django中使用Celery執(zhí)行定時(shí)任務(wù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

使用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)文章

最新評(píng)論