1
24
django-mailer . 作为一个很好的补充,还有其他一些可插入项目,它们足够聪明,可以在堆栈中看到django mailer时利用它。 至于更通用的队列解决方案,我还没有尝试过其中任何一种,但下面列出了一些我更感兴趣的解决方案: |
2
14
到目前为止,我还没有找到“好”的解决方案。我有一些更严格的软实时要求(从贴标签的纸板箱中拍照),所以可能其中一种方法对您来说足够快。我想电子邮件可以等几分钟。
到目前为止,我还没有尝试使用RabbitMQ和XMPP/ejabebrd来处理这个问题,但它们在我接下来要尝试的事情列表中。RabbitMQ在2008年获得了不错的Python连接,并且有大量的XMPP库。
|
3
6
我们有一个在生产中使用stompserver的系统,用于发送电子邮件和异步处理其他作业。
它可以很好地扩展,因为您可以在运行时添加使用者进程——两个使用者可以发送两倍的电子邮件,并且使用者可以在不同的机器上。一个稍微复杂的问题是,每个使用者都需要自己的命名队列,因此Django需要知道有多少使用者可用,并以循环方式向每个队列发送事件。(在同一队列上侦听的两个使用者都将获得每条消息=重复)。如果您只需要一个使用者进程,那么这不是问题。 以前,我们有一些进程不断地轮询数据库中的作业,但发现它给系统增加了很多负载,即使没有什么需要处理的。 |
4
1
只需将电子邮件添加到数据库,然后编写另一个由某个任务调度器实用程序(想到cron)运行的脚本来发送电子邮件。 |
6
1
使用邮件基础设施解决这个问题有什么不对吗?就像,每个应用服务器都运行自己的邮件守护进程,这些守护进程将对本地提交的邮件进行排队,然后转发到一个可以处理邮件的集中式邮件服务器? |
7
0
如果已经安装了MySQL,则可以创建一个表,用作排序的“待办事项列表”。 线程同步地向表中添加作业,批处理任务在作业完成时删除作业。 太多了 电子邮件的数量(如超过10/秒)。 |
8
0
这里有一个懒惰但正确且充分的解决方案。使用以下数据库表作为队列。
发件人应在此表的末尾插入新行。
|
Denyk · ZeroMQ操作抛出EXC:[当前状态下无法完成操作] 6 年前 |
Shubham Mishra · 执行多个芹菜工人以使用唯一队列 6 年前 |
Tensho · 如何在RabbitMQ中发布数据库之间的数据更改? 7 年前 |
George · MDB部署成功:然后甚至不会写入系统。出来为什么? 7 年前 |
Nayeem · 使用JMS中的CCDT文件连接到IBM MQ 7 年前 |