--django中celery异步任务使用

celery异步任务使用

目录结构

--django中celery异步任务使用_第1张图片

  1. celery_tasks为主目录
  2. email、html、sms为各任务文件夹
  3. tasks.py为各任务目录中的任务,每个里面tasks里面可以定义多个任务
  4. config.py为配置文件
  5. main.py主文件

任务

以sms下的tasks为例子

from libs.yuntongxun.sms import CCP
from celery_tasks.main import app

@app.task(name='send_sms_code')
def send_sms_code(mobile,sms_code):
    # 发送短信
    ccp = CCP()
    expries = str(300 // 60)
    ccp.send_template_sms(mobile, [sms_code, expries], 1)

@app.task(name='pritn_a')
def pritn_a():
    print('aaa')

config.py文件

broker_url = "redis://10.211.55.26/14"

main.py

from celery import Celery

# 为celery使用django配置文件进行设置
import os
if not os.getenv('DJANGO_SETTINGS_MODULE'):
    os.environ['DJANGO_SETTINGS_MODULE'] = 'settings.dev'

# 创建celery应用
app = Celery('demo')

# 导入celery配置
app.config_from_object('celery_tasks.config')

# 自动注册celery任务
app.autodiscover_tasks(['celery_tasks.sms','celery_tasks.email','celery_tasks.html'])


# celery  -A celery_tasks.main  worker  -l info  # 执行celery指令

你可能感兴趣的:(python,celery,python,django,代奇)