2012-05-10 122 views
1

我有一個名爲send_email_to_all的方法。 現在,假設用戶按下「發送電子郵件」按鈕,上述功能會向100人發送電子郵件。但是執行上面的send_email_to_all方法需要很長時間。 但是,如果用戶想要在執行時停止該方法,則用戶將按下由頂部的每個網頁瀏覽器提供的停止按鈕。 現在的問題是,雖然用戶已經按下停止,WEBrick不會停止執行該功能。 什麼是解決方案?Rails停止執行功能

回答

1

你真的不應該讓Rails通過一個Web請求來處理許多電子郵件。您應該提供某種後臺流程來管理其交付。

Railscasts.com涵蓋了幾個流行的後臺工作人員,這些示例通常演示如何處理電子郵件傳遞。

+0

我剛剛舉了一個發送電子郵件的例子。 可能有其他需要執行的功能。 當用戶停止請求時執行,那麼該方法應該停止在服務器上。 –