目前在我们的应用程序中,一家公司的管理员邀请多个用户加入系统。我们的设计是:采取管理员选择的分开的电子邮件地址,检查用户是否存在和当前公司的成员什么都不做。如果存在但不是当前公司的成员,请进行一些设置并添加到公司并发送欢迎电子邮件。如果不存在,设置用户帐户添加到公司并发送邀请电子邮件。但是有一个很难的障碍。管理员希望邀请多达5000封电子邮件。由于目前我们在web应用程序中邀请并逐个发送电子邮件(由于唯一性和激活码,我们必须这样做),管理员不能同时邀请超过20-30封电子邮件,因为超时。
我想把电子邮件带到另一张桌子上,用定时器做操作?这方面的最佳实践是什么?
Enviorementamazon-ec2服务器上的ASP.NET MVC2。此外,我们还有定时器quartz.net
我来自linux/PHP背景,但在我看来,你的问题可以通过队列解决吗?
基本上,你会收到所有需要发送的电子邮件,将它们添加到队列中,然后让另一个流程从队列的顶部删除一些电子邮件并发送。站起来,重复,直到队列变空。
既然你在EC2,你有没有考虑过亚马逊SQS如何提供帮助?如果你想要一个现成的组件,我在谷歌上搜索并找到了这个asp.net的电子邮件队列组件,它似乎可以解决你所面临的确切问题(尽管会花费你美元)