Django:异步发送电子邮件
我有一个Django应用程序,它有一个表单来订购东西。提交表格后,应将您转发至确认网站,同时还应发送两封电子邮件 用Django发送电子邮件不是问题Django:异步发送电子邮件,django,email,asynchronous,Django,Email,Asynchronous,我有一个Django应用程序,它有一个表单来订购东西。提交表格后,应将您转发至确认网站,同时还应发送两封电子邮件 用Django发送电子邮件不是问题 send_mail(subject, plain_message, from_email, [order.customer.email], html_message=html_message) 但这似乎不是以异步方式发生的,因为这需要一些时间 我只想调用我的send_email方法,让发送异步处理,然后继续转发 我将如何实现这一点,我有什么样的可
send_mail(subject, plain_message, from_email, [order.customer.email], html_message=html_message)
但这似乎不是以异步方式发生的,因为这需要一些时间
我只想调用我的send_email
方法,让发送异步处理,然后继续转发
我将如何实现这一点,我有什么样的可能性?我对Django/Python相当陌生,但我想象创建一个线程或类似的东西?对于这种情况,最佳做法是什么?如评论中所建议的,您需要实现任务队列和工作队列。在我的项目中,我使用django rq和Redis 见此处的回购协议: 然后,您可以将send_mail功能推入队列,如示例所示:
导入django\u rq
#在这里处理东西
#将要发送的电子邮件排队
django_rq.enqueue(发送邮件、主题、普通消息、来自电子邮件[order.customer.email],html_message=html_message)
但请确保您还需要一名工作人员在后台实际处理队列中的项目。标准做法是使用任务运行程序。芹菜可能是最受欢迎的。