Как написать тестовый пример для Threading в рельсах? - PullRequest
4 голосов
/ 13 сентября 2011

В моем приложении rails (версия rails 2.3.12) я использую нить для отправки писем, как показано ниже

Thread.new{SomeMailer.deliver_method(stuff)} 

Как проверить эту тему в rails.На самом деле я написал эту строку в модели.

Заранее спасибо, Jak.

1 Ответ

2 голосов
/ 13 сентября 2011

В общем случае не используйте потоки в Rails.Используйте один поток для каждого процесса и используйте фоновые рабочие для выполнения подобных задач.Популярные работники включают delayed_job и resque .

In delayed_job:

SomeMailer.delay.deliver_method(stuff)

In Resque:

class DeliverStuff
  @queue = :mail

  def self.perform(stuff)
    SomeMailer.deliver_method(stuff)
  end
end

# elsewhere
Resque.enqueue(DeliverStuff, stuff)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...