我使用Heroku來託管一個小應用程序。它使用Mechanize和Nokogiri爲每個搜索請求運行一個屏幕截圖,這需要大約3秒鐘才能完成。什麼是延遲後臺工作?它是如何工作的?
請問屏幕抓取塊任何人誰願意在那一刻訪問應用程序?換句話說,它只處於當前用戶還是每個人的持有模式?
我使用Heroku來託管一個小應用程序。它使用Mechanize和Nokogiri爲每個搜索請求運行一個屏幕截圖,這需要大約3秒鐘才能完成。什麼是延遲後臺工作?它是如何工作的?
請問屏幕抓取塊任何人誰願意在那一刻訪問應用程序?換句話說,它只處於當前用戶還是每個人的持有模式?
如果你只有一個Heroku的賽道,那麼是的,它是其他用戶將不得不排隊等候的情況。
後臺作業適用於需要完成一些繁重處理的情況。運行軌的過程並不是預先做好工作,而是觸發後臺工作來做到這一點,並快速響應,釋放自己以迴應其他請求。
由後臺作業處理的數據後認爲 - 也許在幾個請求時,或者當任務完成,加載由JavaScript。
當然,因爲賽道是單線程的,如果它是忙報廢那麼其他請求都將被排隊,直到到了極致是免費的或最終超時,如果他們掛超過30秒。
任何依賴於外部服務的東西最好通過DJ通過工作人員運行 - 甚至發送電子郵件,因此您的控制器會將郵件放入隊列並將用戶返回到屏幕,然後郵件將被DJ和交付,用戶不必等待郵寄過程完成。
安裝寶石NewRelic的看到你的隊列長度做
約翰。
如果你有興趣,我們正在尋找我們的Heroku應用商店應用SimpleWorker.com的beta測試一個完整的服務體系工人。它與Heroku緊密結合,與DJ相比具有許多優勢。
就這麼簡單的代碼幾行送您的事推到我們的彈性工作者雲,你可以利用大規模並行處理的,因爲我們不限制工人的數量。
如果您有興趣,請給我一條消息。
乍得
是的,我可能是。你的電子郵件是什麼? – picardo 2011-01-20 11:52:08