如何利用Thread.new在Ruby on Rails中高效发送邮件?

更新于
2026-10-10 00:38:11
1阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计270个文字,预计阅读时间需要2分钟。

如何利用Thread.new在Ruby on Rails中高效发送邮件?

我一直在发送关于我的应用程序的电子邮件(+ruby 1.8.7, rails 2.3.2)使用Thread.new { UserMailer.deliver_signup_notification(用户) }。由于Ruby使用绿色线程,这样做具有性能优势。或者,我可以使用UserMailer.deli。

我一直在发送关于我的应用程序的电子邮件( ruby 1.8.7,rails 2.3.2)

Thread.new {UserMailer.deliver_signup_notification(用户)}

由于ruby使用绿色线程,这样做有任何性能优势,或者我可以使用

UserMailer.deliver_signup_notification(用户)
?

谢谢

如何利用Thread.new在Ruby on Rails中高效发送邮件?

发送该电子邮件时,全局VM锁定几乎肯定会适用,这意味着没有区别.

您不应该在请求/响应周期中启动线程.你根本不应该启动线程,除非你可以从创建到加入观看它们,即使这样,它也很少值得它创造的麻烦.

Rails不是线程安全的,并不意味着来自您的控制器操作.只是因为Rails 2.3只是调度是线程安全的,并且只有你在environment.rb中用config.threadsafe!打开它.

This article更详细地解释.如果要异步发送消息,请使用BackgroundRb或其模拟.

本文共计270个文字,预计阅读时间需要2分钟。

如何利用Thread.new在Ruby on Rails中高效发送邮件?

我一直在发送关于我的应用程序的电子邮件(+ruby 1.8.7, rails 2.3.2)使用Thread.new { UserMailer.deliver_signup_notification(用户) }。由于Ruby使用绿色线程,这样做具有性能优势。或者,我可以使用UserMailer.deli。

我一直在发送关于我的应用程序的电子邮件( ruby 1.8.7,rails 2.3.2)

Thread.new {UserMailer.deliver_signup_notification(用户)}

由于ruby使用绿色线程,这样做有任何性能优势,或者我可以使用

UserMailer.deliver_signup_notification(用户)
?

谢谢

如何利用Thread.new在Ruby on Rails中高效发送邮件?

发送该电子邮件时,全局VM锁定几乎肯定会适用,这意味着没有区别.

您不应该在请求/响应周期中启动线程.你根本不应该启动线程,除非你可以从创建到加入观看它们,即使这样,它也很少值得它创造的麻烦.

Rails不是线程安全的,并不意味着来自您的控制器操作.只是因为Rails 2.3只是调度是线程安全的,并且只有你在environment.rb中用config.threadsafe!打开它.

This article更详细地解释.如果要异步发送消息,请使用BackgroundRb或其模拟.