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
    
  • 相关阅读:
    Oracle Sql优化之日期的处理
    python excel转xml
    3、vue项目里引入jquery和bootstrap
    1、vue.js开发环境搭建
    2、vue-router2使用
    go 初步
    一个全局变量引起的DLL崩溃
    在linux用gdb查看stl中的数据结构
    gdb看core常用命令
    redis常用命令
  • 原文地址:https://www.cnblogs.com/tjw-bk/p/14110244.html
Copyright © 2011-2022 走看看