Django使用celery实现异步任务
celery使用: 以发送短信为例
在项目目录下下创建celery_tasks用于保存celery异步任务。在celery_tasks目录下创建config.py文件,用于保存celery的配置信息
broker_url
= "redis://127.0.0.1/14"
在celery_tasks目录下创建main.py文件,用于作为celery的启动文件
from celery
import Celery
import os
if not os
.getenv
('DJANGO_SETTINGS_MODULE'):
os
.environ
['DJANGO_SETTINGS_MODULE'] = 'xiamgmu.settings.dev'
app
= Celery
('name')
app
.config_from_object
('celery_tasks.config')
app
.autodiscover_tasks
(['celery_tasks.sms'])
在celery_tasks目录下创建sms文件夹,实现发送短信的方法在sms文件夹下创建tasks.py文件
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
()
ccp
.send_template_sms
(mobile
, [sms_code
, '1'], 1)
配置完成在视图view中可以调用send_sms_code方法并传参
使用celery解决可能由于网络延时问题造成的堵塞,实现异步任务