1
Heroku殺死運行超過30秒的動態進程。我們的一些任務可能需要一分鐘左右的時間。heroku上的rails 3.2應用程序能否在後臺任務運行時保持連接活動狀態?
我們通過延遲作業在後臺運行這些任務。後臺任務在完成時在Foo模型中設置一個task_is_done
標誌。
如果task_is_done
爲真,用戶的瀏覽器每隔10秒檢查一次,那麼用戶視圖會隨着任務進程週期性更新,並且我們避免了長時間運行任務的heroku超時,那麼最佳方法是什麼? (暴力方法是使用meta標籤告訴瀏覽器每10秒重新載入一次頁面,並讓該頁面的控制器檢查task_is_done
的狀態。除了代碼惡臭以外,它也不會與每個瀏覽器工作)。