什么是在后台发送电子邮件而不干扰ruby on rails的最佳方式?

时间:2014-04-08 07:05:56

标签: ruby-on-rails multithreading

我正在使用Rails 4

我用线程发送电子邮件。有时网站在发送电子邮件后崩溃了。

执行此操作的最佳方法是什么?

任何帮助表示感谢。

由于

1 个答案:

答案 0 :(得分:2)

发送电子邮件有几种选择。如果您没有很多要发送的电子邮件,请使用delayed_job gem。否则使用redis和resque gem。

在发送电子邮件时延迟作业https://github.com/collectiveidea/delayed_job,它将锁定您的数据库。在生产模式下,如果您收到大量电子邮件,可能会导致性能问题。但对于小型应用程序来说,它很容易实现。

Redis和resque是后台作业(https://github.com/resque/resque)的最佳选择之一,因为它更可靠,更易于实现。并且它在红色上运行。因此,您需要承担运行新的redish服务器的开销。您也可以查看精彩的railscast视频(http://railscasts.com/episodes/271-resque)。

其他选项也有像 sidekiq sidekiq也跑得最红。可以根据您的要求随意使用其中任何一个。