【Django】celery收到发送邮件任务没反应(无限等待)- 阿里云ECS-CentOS7

在windows上使用celery异步发送邮件出现的一些问题 1.直接使用命令行 celery -A celery_tasks.tasks worker -l info, celery_tasks.tasks 阅读详情

一、起因:celery收到发送邮件任务没反应(无限等待)- 阿里云ECS-CentOS7

最近用阿里云部署Django项目,用celery处理发送邮件任务,celery服务已经启动,能Received task,但是收到任务后无限等待,没有进行Task xxx succeeded in.

  1. 我一直以为是celery没有配置好的问题,百度各种无果。
    以为是代码问题?看了又看,没问题啊、、、以为是 时区问题?AsiaShanghai? 没有效果。。。。。。

  2. 遂尝试放弃celery,开启一个线程去处理发送邮件的任务,发现线程一直在等待处理任务???那么就不是celery的问题了,是发送邮件的问题。

原来是如此,这damn的亲爱的阿里云把25端口给禁用了,导致无法发送邮件!!!

二、解决无法发送邮件的问题

Django项目的settings.py文件添加代码:

''' 阿里云Django邮件服务器配置 '''
# 其他配置不变,修改:
DEFAULT_FROM_EMAIL = 'xxxx@163.com'	# 默认邮件发送方:和发送邮箱的用户名相同
EMAIL_PORT = 465	# 修改Email端口为465或587,二选一,用不了换另一个
EMAIL_USE_SSL = True	# 使用SSL
# EMAIL_USE_TSL = False		# 禁用TSL

配置之后,再次尝试!!!

启动发送邮件的celery任务

Linux启动celery任务

celery -A celery_tasks.tasks worker -l info

Windows启动celery任务

celery -A celery_tasks.tasks worker -l info -P eventlet
发送邮件测试

在项目路径下输入python3,进入python3交互环境。

[root@banana ~]# cd 你的项目路径
[root@banana 你的项目路径]# python3

>>> from celery_tasks.tasks import send_register_active_email
>>> to_email = 'xxxx@qq.com'
>>> username = 'helloworld'
>>> token = 'thistoken'
>>> send_register_active_email.delay(to_email, username, token)
<AsyncResult: e5122c2a-75b9-4b6a-bccf-650f5e8c41f2>
测试成功!
[2020-06-01 13:37:46,114: INFO/ForkPoolWorker-1] Task celery_tasks.tasks.send_register_active_email[c43f36a7-3c41-45a0-bac0-18b059c5ccdb] 
succeeded in 3.290678153047338s: None
SSL和TSL的Django文档
EMAIL_USE_TLS(默认:False)

在与SMTP服务器通信时,是否使用TLS(安全)连接。这用于显式TLS连接,通常在端口587上。

EMAIL_USE_SSL(默认:False)

在与SMTP服务器通信时,是否使用隐式TLS(安全)连接。在大多数电子邮件文档中,这种类型的TLS连接称为SSL。它通常在端口465上使用。

注意: EMAIL_USE_TLS/EMAIL_USE_SSL 是互斥的,最多只能设置一个为True。

Celery 在Django 环境下无法接收消息问题解决 问题描述:        使用celery 作为分布式任务处理器,rabbitmq 作为消息处理器,长时间运行以后发现当Django 采用后台http方式运行的时候,celery 从rabbitmq 读取的数据一直提示序列化错误,而且无法配置多项CELERY_ACCEPT_CONTENT ,采用redis时则无法收到任何消息。 解决方案:       导致问题的原因主要是由于采用后台运行 阅读详情

相关推荐

【celery踩坑】celery定时和周期任务全部不执行

有一天,突然发现线上系统上的任务没有执行,状态一直是未完成。看了一下celery的beat日志,发现周期任务和定时任务都不执行了。重启项目,发现中,也只是执行前面几个周期或者定时任务,某个定时任务后面的所有任务都不执行了。

会一点前端、会一点Java、会一点Python 3366

Django使用Celery异步发送邮件

Celery 是一个简单、灵活且可靠的分布式系统,可以处理大量消息,同时为操作提供维护此类系统所需的工具。它是一个专注于实时处理的任务队列,同时也支持任务调度。

积跬步,至千里。 1475

Django之使用内置函数和celery发邮件的方法示例

主要介绍了Django之使用内置函数和celery发邮件的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

celery正常启动后能收到任务,但不执行任务的解决办法

win10下celery正常启动后能收到任务,但不执行任务的解决办法:

weixin_45075031的博客 2818

【AI+教育】别再让 Cursor 只当编辑器了!4 步解锁 Claude 官方技能!

本文介绍了在Windows环境下通过OpenSkills工具在Cursor中调用Claude AI技能的方法。主要内容包括:1)安装Node.js环境;2)全局安装OpenSkills工具;3)安装Claude官方技能库;4)通过AGENTS.md文件同步技能;5)在Cursor中直接调用技能完成Excel、PPT等任务。文章提供了详细的操作步骤和示例,帮助用户快速上手使用AI技能提升工作效率。

奶爸的编程之路,也就一周冷个三天 751

Python 爬取网页文字并保存为 txt 文件教程

将要爬取的网页网址赋值给变量url。

2403_89537385的博客 2788

Django&celery异步发送邮件

pip install -U Celery 1> 开通SMTP邮件发送服务器:注册163邮箱>>设置>>勾选POP3/SMTP/IMAP>>客户端授权码>>得到授权码 2>项目project_test目录中添加celery_task包(__init__.py&task.py) 3>task.pyfrom celer...

xx6345386的博客 611

【YoloV8改进策略】上采样改进|EUCB,轻量高效的上采样模块|即插即用

YOLOv8作为当前最先进的实时目标检测与实例分割模型之一,其在速度与精度之间取得了出色的平衡。然而,在资源受限的边缘设备或对实时性要求极高的应用场景中,YOLOv8的计算开销,尤其是在特征金字塔网络(FPN)和路径聚合网络(PAN)中用于特征融合的上采样操作,仍然是一个瓶颈。YOLOv8的颈部(Neck)结构中广泛使用nn.Upsample进行上采样,该操作虽然简单,但缺乏对特征内容的感知能力,且后续通常需要标准卷积来修复因插值带来的伪影,这增加了不必要的计算负担。

m0_47867638的博客 747

Django笔记三十八之发送邮件

这一篇笔记介绍如何在 Django 中发送邮件。在 Python 中,提供了 smtplib 的邮件模块,而 Django 在这个基础上对其进行了封装,我们可以通过来调用。

woaimx_1314的博客 2863

学Simulink--决策规划场景实例:基于Simulink的智能车辆行为决策仿真

本文基于Simulink平台构建智能车辆变道决策仿真系统,采用MOBIL算法实现"决策-规划-执行"全流程。系统包含自车动力学模型、环境感知模块(含5%噪声)、决策控制器和轨迹规划模块,通过五次多项式实现平滑变道。仿真验证了三种典型工况:正常变道(成功率100%)、邻车拒绝让行和紧急避障,各项指标均满足要求(TTC>3s,横向加速度<2m/s²,决策周期<100ms)。文章详细介绍了建模步骤、核心算法实现和参数配置方法,并提出了强化学习、多车协同等优化方向。该模型为智能

amy_mhd的博客 151

YOLOv8改进-bifpn

跨尺度连接通过添加一个跳跃连接和双向路径来实现,自此实现了加权融合和双向跨尺度连接。该结构是加权且双向连接的,即自顶向下和自底向上结构,通过构造双向通道实现跨尺度连接,将特征提取网络中的特征直接与自下而上路径中的相对大小特征融合,保留了更浅的语义信息,而不会丢失太多的深层语义信息。传统的特征融合时将尺度不同的特征图以相同权重进行加权,但是当输入的特征图分辨率不同时,以相同的权重进行加权对输出的特征图不平等。所以BiFPN根据不同输入特征的重要性设置不同的权重,同时反复采用这种结构来加强特征融合。

weixin_45303602的博客 8136

Django:整理开发过程中遇到的错误和解决方法

Django是一款流行的Python Web框架,但在开发中可能会遇到一些常见的错误。以下是10个Django开发在运行项目,准备迁移时出现的如下错误: Traceback (most recent call last): File "C:\py3_env\lib\site-packages\django\apps\config.py", line 107, in create entry = module.default_app_config AttributeError: module...

SteveRocket's-Blog 6743

海外购物商城源码 带即时通讯IM源码

在海外购物商城中,即时通讯IM源码可以为用户提供更便捷、高效的沟通方式,帮助解决跨国交易中的语言和文化差异问题。总之,即时通讯IM源码在海外购物商城中扮演着重要的角色,可以为用户提供更方便、高效的沟通方式,解决跨国交易中的语言和文化差异问题。(购买本专栏可免费下载栏目内所有资源不受限制,持续发布中,需要注意的是,本专栏为批量下载专用,并无法保证某款源码或者插件绝对可用,介意不要购买)实时翻译:即时通讯IM源码提供实时翻译功能,能够快速准确地翻译不同语言之间的文字、语音、视频等信息,帮助用户克服语言障碍。

很酷的站长的博客 259

【Celery】任务Failure或一直超时Pending

task进入队列后,部分任务出现Failure或者一直Pending,且业务代码没有报错。

Yikong的博客 2858

论文阅读:arixv 2025 Poisoning Attacks on LLMs Require a Near-constant Number of Poison Samples

研究者做了目前最大规模的“投毒实验”,训练了从6亿参数到130亿参数的模型(覆盖了中小到大型LLM),用的训练数据量也是“最适合模型大小”的(按行业里的“Chinchilla法则”,模型越大,训练数据量也按比例增加)。总结下来就是:这篇论文告诉我们,给大语言模型投毒,比之前想的容易得多——不需要海量毒数据,只要几百条藏好后门的文档,就能让大模型“带毒工作”,而且平时还看不出来。——这比之前大家担心的“需要投毒数据占训练集一定比例”要可怕得多,因为对大模型来说,“固定数量”的毒数据更容易偷偷塞进去。

CSPhD-winston的博客 1080

Python全栈入门到实战【基础篇 04】核心基础:变量与4种基础数据类型(int/float/str/bool)

本文介绍了Python编程中的变量和四种基础数据类型,作为后续所有语法的入门前提。变量是数据的“容器”,解决数据复用问题,而数据类型决定数据能进行的操作。文章详细讲解了变量的定义语法、命名规则(强制语法和推荐风格)、赋值与修改原理,并通过实操示例展示其应用场景。正确使用变量可以提升代码复用性、简化修改并增强可读性,是编程效率的核心原则。掌握这些基础知识能避免90%的新手语法错误,为学习更复杂的Python语法打下坚实基础。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 4307

Django配置使用celery异步发送邮件

Django配置使用celery异步发送邮件

分享一点有用的知识 926

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

学习django celery 遇到Received unregistered task of type ‘App07.tasks.hello_world‘. 错误解决过程

shared_task 也可以。celery 和 beat 启动。

weixin_58853115的博客 1371

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

使用Django实现邮件的发送出现问题及解决

在setting .py里配置如下字段: EMAIL_HOST = "smtp.163.com" EMAIL_PORT = 25 EMAIL_HOST_USER = "**********@XXX.com" EMAIL_HOST_PASSWORD = "AAAAAA" EMAIL_USE_TLS = False EMAIL_FROM = "**********@XXX.com" (1)错误...

qq_33124895的博客 2015

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

填坑-celery正常启动后能收到任务但不执行任务的解决办法

celery踩坑篇

北堂飘霜_记录 930

django-celery-redis异步发邮件

Django-Celery-Redis异步发邮件 python == 3.7.6 django == 2.1.8 celery == 4.4.7 redis == 3.5.3 eventlet == 0.26.1 什么是celery Celery是一个功能完备即插即用的任务队列。它使得我们不需要考虑复杂的问题,使用非常简单。celery适用异步处理问题,当发送邮件、或者文件上传, 图像处理等等一些比较耗时的操作,我们可将其异步执行,这样用户不需要等待很久,提高用户体验。 celery的特点是: 简单,

qq_15832329的博客 451

celery异步与定时任务

Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统,专注于实时处理的异步任务队列,同时也支持任务调度。 Celery的架构由三部分组成,消息中间件(message broker),任务执行单元(worker)和任务执行结果存储(task result store)组成。Celery本身不提供消息服务,但是可以方便的和第三方提供的消息中间件集成。包括,RabbitMQ, Redis等等Worker是Celery提供的任务执行的单元,worker并发的运行在分布式的系统节点中。Task result

qq_33816243的博客 1067

【疑难杂症】Celery的Received unregistered task错误的解决

项目的日志中报错误 发现了一个没有注册的任务。但是这个任务是其他项目里的定时任务。 解决办法: 在django的setting中配置了一个这个项目的celery的专属的队列 并且在执行的时候 celery xxxxxxx 之后 加上 -Q default_mq 指定这个worker使用的队列 参考资料: https://www.jianshu.com/p/b4c...

m0_37702587的博客 2749

Celery周期任务正常启动后能收到任务,但不执行任务的解决办法

后来发现,是因为Celery高版本已经是不支持window这时候要用到一个包 eventlet 将原本的执行语句改成如下。1.Django 中使用Celery设置周期任务,发现能收到任务,但是不执行任务内容。查了老半天,调了各种配置还是不行。今天处理Celery问题闷了。

weixin_46106723的博客 1217

问题:使用celery过程中部署后发现无法正常调用celery

线下本地环境:python版本2.7,celery版本3.1.25 在部署到服务器上后,无法调用,celery日志没有任何显示调用的痕迹 后来尝试修改启动命令行,依然没有效果///////// 最后发现了一片文章http://www.axiaoxin.com/article/228/ 线上将版本升级到这个版本celery4.1.0后,不停的报错。(默认是升级最新版) 但是这篇文章...

CaoMei_HuaCha的博客 968
上一篇: Linux阿里云ECS-CentOS7配置FastDFS和Nginx(二)
下一篇: Linux阿里云ECS-CentOS7——查看celery存储在redis内的数据
Spade_
博客等级 码龄10年 918粉丝 123原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值