启动celery后执行任务报错:django.core.exceptions.ImproperlyConfigured
工作的环境版本如下:
【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相关推荐
- django3.0报错django.core.exceptions.ImproperlyConfigured
django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not ...
- Python项目运行报错 django.core.exceptions.ImproperlyConfigured: WSGI application ‘WebTool.wsgi.application
问题描述:使用Pycharm运行python项目报错:django.core.exceptions.ImproperlyConfigured: WSGI application 'WebTool.ws ...
- python基于Django框架编译报错“django.core.exceptions.ImproperlyConfigured”的解决办法?...
下面是我具体遇到的问题和解决方法: 错误详细信息: django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_IND ...
- 关于报错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 ...
- Django3.0 +Python3 连接mysql遇到django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer
使用idea 创建了一个Django项目,不想使用默认的数据库进行操作,想切换成mysql数据,在此遇到了一些问题特此记录. 按照网上所说使用pymysql进行数据库连接操作,安装并且配置完毕后,在执 ...
- django.core.exceptions.ImproperlyConfigured: Requested setting CACHES报错解决办法
错误信息 django.core.exceptions.ImproperlyConfigured: Requested setting CACHES, but settings are not con ...
- 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 ...
- 【Django】有效解决django.core.exceptions.ImproperlyConfigured: Requested setting EMAIL_FROM, but settings
一.问题描述 在使用celery进行异步邮箱验证时,定义好异步任务和配置好celery的相关设置后,使用celery -A celery_tasks.main worker -l INFO命令能正确启 ...
- python 踩坑之解决django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.Did you insta
1. 电脑无意点了升级之后就各种不正常,之前运行好好的django项目,突然出现 我明明是安装了mysqlclient的,执行pip3 freeze能看到实际上我已经安装了mysqlclient. 2 ...
最新文章
- linux命令之上传文件和下载文件
- 设计模式之-工厂方法模式
- 编译原理三大经典书籍(龙书 虎书 鲸书)
- NS安装问题收集(3)
- python pandas.DataFrame.values和pandas.DataFrame.columns的用法
- 5.【练习题】构造方法与重载
- Win系统利用本地安全策略全面禁止360等软件的安装与运行-1
- Linux下定时器使用
- 辗转相除将分数化为连分数形式
- MariaDB数据库用户创建/删除及权限授权/撤回
- 快速幂?再加个位运算吧
- 基于ADS500MHZ带通滤波器
- Excel 空值填充
- Ubuntu 的ADSL设置(转)
- 某三甲医院大数据平台建设应用与实践
- 28岁,转行学 IT 靠谱吗?
- pyautogui入门学习之消息盒子
- vue实战 —— 图书商城移动端项目
- Statistic模块管理统计功能,用于提供应用内统计的能力,支持统计和分析用户属性和用户行为数据。通过plus.statistic可获取统计管理对象
- 独步天下的创业历险记6-一叶知秋