我正在使用Rails 4
。
我用线程发送电子邮件。有时网站在发送电子邮件后崩溃了。
执行此操作的最佳方法是什么?
任何帮助表示感谢。
由于
答案 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也跑得最红。可以根据您的要求随意使用其中任何一个。