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
    
  • 相关阅读:
    JPA
    XMPP技术之Smack库的自定义消息扩展
    VMVare的窗口自适应
    linux c tcp p2p
    linux 消息队列
    基数排序-LSD
    基数排序-纪念欧某新
    归并排序
    锦标赛排序
    快速排序 之添加复合插入排序和原始序列取中值左pivot
  • 原文地址:https://www.cnblogs.com/tjw-bk/p/14110244.html
Copyright © 2011-2022 走看看