是否应使用某种后台作业(Resque,Delayed_Job等)在后台处理/发送验证电子邮件?
在发送验证邮件之前,该应用确实会挂起。但是,它只挂了一两秒钟。不知道它是否值得作为后台任务发送。
你有什么想法?
答案 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.