Как использовать многопоточность в rails 3?

Я отправляю почту пользователям с помощью actionmailer через почтовый штемпель. Это мой код в контроллере:

@users = User.where(some condition)
@product = Product.find_by_name(some name).first
for user in @users
  UserMailer.new_product_arrival(user, @product, home_url).deliver
end

и мой user_mailer.rb

def new_product_arrival(user,product,home_url)
  @from         = Settings.mailer_from_address
  @recipients   = user.login
  @sent_on      = Time.now
  @user = user
  @product = product
  @content_type = "text/html"
  @home_url = home_url
end

Проблема в том, что при наличии более 10 пользователей это занимает очень много времени из-за цикла for . Мне нужно знать, сможем ли мы справиться с этим, используя многопоточность или фоновое задание. Я не хочу использовать фоновое задание, но может ли кто-нибудь сказать мне, как реализовать вышеперечисленное, используя многопоточность.

Я использую Ruby 1.8.7 и rails 3.0.7

14
задан Chris E 22 November 2011 в 17:35
поделиться