通用方案
- 移动项目celery_task到项目根目录
- 在视图中写逻辑
- 启动worker -->
celery -A celery_task worker -l debug -P eventlet
- 运行django,正常使用接口
# 1 把之前的celery_task 移动过到项目根路径, 然后开启worker
# 2 在视图函数中提交任务
# from libs.tx_sms import get_code,send_sms as sms
from celery_task.order_task import send_sms as sms1
from celery_task.user_task import add
class CeleryView(APIView):
def get(self, request, *args, **kwargs):
## 1异步发送短信
mobile=request.query_params.get('mobile')
code=get_code()
# 使用celery做异步,提交任务
res=sms1.delay(mobile,code)
return APIResponse(msg=f'短信已发送,{str(res)}')
## 2 异步计算
# x=request.query_params.get('x')
# y=request.query_params.get('y')
# # res=add(x,y)# -->请求要等:3s多
# res=add.delay(x,y)# -->请求直接返回
# return APIResponse(msg=str(res))
# 3 启动worker
# 4 运行django,正常使用接口即可
标签:task,get,解决方案,sms,django,celery,code,res
From: https://www.cnblogs.com/ccsvip/p/18220854