Rails中的异步Actionmailer

我注意到我的一些操作(在开发环境中)需要一段时间才能加载为需要电子邮件通知的电子邮件(通过Google的服务器)。 我是否需要实现电子邮件的异步处理,例如: http://upstream-berlin.com/2008/05/19/new-rails-plugin-for-making-actionmailer-asynchronous/

卸载可能长时间运行的任务(例如将电子邮件发送到后台)是提高应用程序响应能力的好主意,尽管会牺牲应用程序的简单性。

一种流行的方式(我已经非常成功地使用)是使用延迟作业 。 README文件包含在后台发送电子邮件的简单示例 – 基本上您只需使用send_later方法。

这是另一个好教程的链接:

http://railstips.org/2008/11/19/delayed-gratification-with-rails

我刚刚发布了一个gem,即Mailhopper,它将数据库中的电子邮件排队,以进行异步发送和可选归档。 第二个gem,DelayedMailhopper,使用DelayedJob对这些电子邮件进行排队和发送。

我开发这种方法比单独使用DelayedJob更强大,如下所述:

http://www.cerebris.com/blog/2011/09/07/tame-rails-email-dragons-with-mailhopper/