2011-09-13 77 views
4

在我的Rails應用程序(導軌版本2.3.12是),我使用線程發送郵件像下面如何編寫線程中的線程測試用例?

Thread.new{SomeMailer.deliver_method(stuff)} 

如何在軌測試此線程。其實我在模型中寫了這條線。

在此先感謝, Jak。

回答

2

一般來說,不要在Rails中使用線程。每個進程使用一個線程,並使用後臺工作人員來做這樣的事情。受歡迎的工人包括delayed_jobresque

在delayed_job的:

SomeMailer.delay.deliver_method(stuff) 

在Resque:

class DeliverStuff 
    @queue = :mail 

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

# elsewhere 
Resque.enqueue(DeliverStuff, stuff)