0

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

在发送验证电子邮件之前,该应用程序确实有挂起的趋势。但是,它只挂起一两秒。不知道它是否值得作为后台任务发送。

你觉得呢?你有没有什么想法?

4

2 回答 2

2

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

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

于 2011-05-26T21:30:12.290 回答
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.

于 2011-05-26T21:57:25.193 回答