是否应在后台处理验证电子邮件?

时间:2011-05-26 21:20:42

标签: ruby-on-rails backgroundworker delayed-job resque

是否应使用某种后台作业(Resque,Delayed_Job等)在后台处理/发送验证电子邮件?

在发送验证邮件之前,该应用确实会挂起。但是,它只挂了一两秒钟。不知道它是否值得作为后台任务发送。

你有什么想法?

2 个答案:

答案 0 :(得分:2)

要记住的主要事情是这种延迟不会影响当前用户,它也会影响其他用户,因为它阻碍了Rails进程(具体的影响取决于您使用的Web服务器)使用和你的设置)。

如果此应用程序没有很多用户(并且将来不会)并且您目前没有任何后台作业处理,则可能不值得添加它。否则,这可能是一个好主意。

答案 1 :(得分:0)

如果只是几分钟,那么我认为你可以忍受它。但是如果它需要更长的时间,那么你可以将它移动到delayed_job,除非你的delayed_job总是被堵塞而且你太过于背景工作了。在这种情况下,将电子邮件发送给用户可能需要更长的时间,并可能破坏用户体验。即使在这种情况下,您也可以为发送验证电子邮件设置更高的优先级。

我对delayed_job的功能毫不怀疑,并且已经有一段时间亲自使用它了。甚至Github也在推出resque时推荐它:
https://github.com/blog/542-introducing-resque

We need a background job system as serious as our web framework. I highly recommend DelayedJob to anyone whose site is not 50% background work.

相关问题