一尘不染

有关Python / Django和消息队列的建议

django

我在Django中有一个应用程序,需要在各种用例中向用户发送大量电子邮件。由于明显的原因,我不想在应用程序中同步处理此问题。

有没有人对与Python很好集成的消息队列服务器有任何建议,或者它们已经在Django项目中使用过?我其余的堆栈是Apache,mod_python,MySQL。


阅读 1151

收藏
2020-04-01

共1个答案

一尘不染

到目前为止,我还没有找到“好”的解决方案。我对软实时性有一些更严格的要求(从贴有标签的纸板箱中拍摄照片),因此其中一种方法可能对你来说足够快。我认为电子邮件可以等待几分钟。

  • 由cron作业处理的数据库中的“待办事项列表”。
  • 数据库中的“待办事项列表”由守护程序轮询永久处理的蜂。
  • 使用自定义守护程序,该守护程序通过UDP数据包由网络服务器通知(今天在生产中)。基本上是我自己的带有IP堆栈的Quing系统,用于处理队列。
  • 使用ActiveMQ作为消息代理 -由于稳定性问题,此方法无法解决。对我来说,Java守护程序通常也有些丰满
  • 在CouchDB中使用更新触发器。不错,但更新触发器并不意味着要进行大量图像处理,因此不适合我的问题。
    到目前为止,我还没有尝试过RabbitMQ和XMPP / ejabebrd来解决问题,但是它们在我接下来要尝试的列表中。RabbitMQ在2008年获得了不错的Python连接,并且有大量的XMPP库。

但也许你所需要的只是在本地计算机上正确配置的邮件服务器。这可能使你可以将邮件同步转储到本地邮件服务器中,从而使整个软件堆栈更加简单。

2020-04-01