zoukankan      html  css  js  c++  java
  • celery报错锦集及解决方案

    celery报错锦集及解决方案

    到网上查看了很多资料都没有用 写一个博客记录一下。

    在view.py中调用异步函数的时候导包除了问题。之前一直以为是绝地路径。害~~~

    import os, sys
    from opwf.settings import BASE_DIR, SECRET_KEY
    sys.path.insert(0, os.path.join(BASE_DIR, '../celery_task'))
    from main import send_sms_code  # 必须这么写, 从main中导包
    

    需要在配置celery的文件内添加django环境

    import django
    
    # 1.添加django项目根路径
    CELERY_BASE_DIR = os.path.dirname(os.path.abspath(__file__))
    sys.path.insert(0, os.path.join(CELERY_BASE_DIR, '../opwf'))
    
    # 2.添加django环境
    os.environ.setdefault("DJANGO_SETTINGS_MODULE","opwf.settings")
    django.setup() # 读取配置
    

    或者:

    不要讲 add_together 方法写在主模块中,因为注册时注册的task为模块名.add_together, 而调用时task为 main.add_together

    再或者:

    不要将异步任务函数的定义和调用写到同一个文件中

    我们需要在整个django项目外运行命令 可以参考上方的目录图片。。。

    celery -A celery_task worker -l info -P eventlet
    
  • 相关阅读:
    hdu5784 极角排序+two point
    极角排序理解
    计算多边形的面积模板
    18年CUG校赛--恶魔的序列
    二分图匹配模板
    POJ 2342 Anniversary party
    蓝桥杯真题-小计算器
    第八届蓝桥杯省赛真题题解
    Django具体操作(四)
    网络爬虫(三)
  • 原文地址:https://www.cnblogs.com/tjw-bk/p/14110244.html
Copyright © 2011-2022 走看看