celery通用解决方案(基于django老)

celery通用解决方案.jpg

通用方案

  1. 移动项目celery_task到项目根目录
  2. 在视图中写逻辑
  3. 启动worker --> celery -A celery_task worker -l debug -P eventlet
  4. 运行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,正常使用接口即可

本文作者:小满三岁啦

本文链接:https://www.cnblogs.com/ccsvip/p/18220854

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   小满三岁啦  阅读(6)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
🔑
  1. 1 夜空中最亮的星 小果酱
夜空中最亮的星 - 小果酱
00:00 / 00:00
An audio error has occurred.