工作的环境版本如下:

【Django version】: 2.1

【celery version】:4.4.0rc2

【python version】: 3.7

【Redis version】:3.2.1

启动celery没有报错,但是执行队列任务的时候就爆出下的错误:

[2019-07-07 18:43:27,756: INFO/MainProcess] Connected to redis://127.0.0.1:6379/0
[2019-07-07 18:43:27,764: INFO/MainProcess] mingle: searching for neighbors
[2019-07-07 18:43:28,784: INFO/MainProcess] mingle: all alone
[2019-07-07 18:43:28,818: INFO/MainProcess] celery@DESKTOP-9T9MK4N ready.
[2019-07-07 18:43:28,818: INFO/MainProcess] pidbox: Connected to redis://127.0.0.1:6379/0.
[2019-07-07 18:43:40,217: INFO/MainProcess] Received task: celery_tasks.tasks.send_register_active_email[c4156f7a-ea3d-457d-8b18-40cc93bb718c]
[2019-07-07 18:43:40,219: ERROR/MainProcess] Task celery_tasks.tasks.send_register_active_email[c4156f7a-ea3d-457d-8b18-40cc93bb718c] raised unexpected: ImproperlyConfi
gured('Requested setting EMAIL_FROM, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure(
) before accessing settings.')
Traceback (most recent call last):File "c:\users\circle\appdata\local\programs\python\python37-32\lib\site-packages\celery\app\trace.py", line 385, in trace_taskR = retval = fun(*args, **kwargs)File "c:\users\circle\appdata\local\programs\python\python37-32\lib\site-packages\celery\app\trace.py", line 650, in __protected_call__return self.run(*args, **kwargs)File "C:\Users\Circle\Desktop\circle\dailyfresh\celery_tasks\tasks.py", line 25, in send_register_active_emailsender = settings.EMAIL_FROMFile "c:\users\circle\appdata\local\programs\python\python37-32\lib\site-packages\django\conf\__init__.py", line 57, in __getattr__self._setup(name)File "c:\users\circle\appdata\local\programs\python\python37-32\lib\site-packages\django\conf\__init__.py", line 42, in _setup% (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting EMAIL_FROM, but settings are not configured. You must either define the environment variable DJANGO_SETTI
NGS_MODULE or call settings.configure() before accessing settings.

大概意思就是没有配置设置。您必须定义环境变量DJANGO_SETTINGS_MODULE在访问设置之前调用settings.configure()。

解决办法就是:

# 使用celery,首先导入进来
from celery import Celery
from django.conf import settings
from django.core.mail import send_mail# 下面就是解决办法:将Django中的配置信息先导入进来
import os
import django
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'dailyfresh.settings')
django.setup()# 创建一个Celery类的实例对象
app = Celery('celery_tasks.tasks', broker='redis://127.0.0.1:6379/0') # 定义任务函数
@app.task
def send_register_active_email(email, username, token):"""发送激活邮件"""subject = '欢迎观看本篇文章'message = '希望对你有帮助'sender = settings.EMAIL_FROMrecipient_list = [email]html_message = '<h1>The End</h1>'send_mail(subject, message, sender, recipient_list, html_message=html_message)

转载于:https://www.cnblogs.com/Hannibal-2018/p/11147250.html

启动celery后执行任务报错:django.core.exceptions.ImproperlyConfigured相关推荐

  1. django3.0报错django.core.exceptions.ImproperlyConfigured

    django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not ...

  2. Python项目运行报错 django.core.exceptions.ImproperlyConfigured: WSGI application ‘WebTool.wsgi.application

    问题描述:使用Pycharm运行python项目报错:django.core.exceptions.ImproperlyConfigured: WSGI application 'WebTool.ws ...

  3. python基于Django框架编译报错“django.core.exceptions.ImproperlyConfigured”的解决办法?...

    下面是我具体遇到的问题和解决方法: 错误详细信息: django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_IND ...

  4. 关于报错django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you hav

    修改__init__.py,多插入一行代码已使他们兼容 import pymysql pymysql.version_info = (1, 3, 13, "final", 0) p ...

  5. Django3.0 +Python3 连接mysql遇到django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer

    使用idea 创建了一个Django项目,不想使用默认的数据库进行操作,想切换成mysql数据,在此遇到了一些问题特此记录. 按照网上所说使用pymysql进行数据库连接操作,安装并且配置完毕后,在执 ...

  6. django.core.exceptions.ImproperlyConfigured: Requested setting CACHES报错解决办法

    错误信息 django.core.exceptions.ImproperlyConfigured: Requested setting CACHES, but settings are not con ...

  7. django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).

    启动Django python36 manage.py runserver 0.0.0.0:8888 报错信息如下: django.core.exceptions.ImproperlyConfigur ...

  8. 【Django】有效解决django.core.exceptions.ImproperlyConfigured: Requested setting EMAIL_FROM, but settings

    一.问题描述 在使用celery进行异步邮箱验证时,定义好异步任务和配置好celery的相关设置后,使用celery -A celery_tasks.main worker -l INFO命令能正确启 ...

  9. python 踩坑之解决django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.Did you insta

    1. 电脑无意点了升级之后就各种不正常,之前运行好好的django项目,突然出现 我明明是安装了mysqlclient的,执行pip3 freeze能看到实际上我已经安装了mysqlclient. 2 ...

最新文章

  1. linux命令之上传文件和下载文件
  2. 设计模式之-工厂方法模式
  3. 编译原理三大经典书籍(龙书 虎书 鲸书)
  4. NS安装问题收集(3)
  5. python pandas.DataFrame.values和pandas.DataFrame.columns的用法
  6. 5.【练习题】构造方法与重载
  7. Win系统利用本地安全策略全面禁止360等软件的安装与运行-1
  8. Linux下定时器使用
  9. 辗转相除将分数化为连分数形式
  10. MariaDB数据库用户创建/删除及权限授权/撤回
  11. 快速幂?再加个位运算吧
  12. 基于ADS500MHZ带通滤波器
  13. Excel 空值填充
  14. Ubuntu 的ADSL设置(转)
  15. 某三甲医院大数据平台建设应用与实践
  16. 28岁,转行学 IT 靠谱吗?
  17. pyautogui入门学习之消息盒子
  18. vue实战 —— 图书商城移动端项目
  19. Statistic模块管理统计功能,用于提供应用内统计的能力,支持统计和分析用户属性和用户行为数据。通过plus.statistic可获取统计管理对象
  20. 独步天下的创业历险记6-一叶知秋

热门文章

  1. WCF分布式开发必备知识(2):.Net Remoting
  2. 技术人的生命之源在于绝不固步自封而不断进取的精神
  3. Web UI 制作规范
  4. 实验一 小凡和VMware虚拟机的使用练习
  5. 由键盘下陷引起的奇怪事件
  6. Linux 浏览网址汇集
  7. formal method lecture 9
  8. CDE桌面环境中自动启动应用程序图形界面
  9. 根据json文件读取json信息
  10. Python之路(第三十一篇) 网络编程:简单的tcp套接字通信、粘包现象