我在Heroku上部署了Rails應用程序。它有「項目」模型,在「創建」操作中正在處理一些數據(文本分析,有時是巨大的文本),這個過程需要很長時間。如果另一個請求到達Web服務器,則加載任何頁面所用的時間太長。避免這種延遲的最佳方法是什麼?Ruby on Rails,多個請求延遲
0
A
回答
0
在這種情況下,您通常會使用後臺作業管理器,如DelayedJob或Resque。如果您剛剛開始,我建議您使用DJ播放,因爲它設置起來非常簡單,並且不需要任何外部依賴。
既然你已經提到過Heroku,他們在你的應用程序開始之前就已經寫好了here。從本質上講,您需要長時間運行的任務,並將它們添加到作業隊列中(在DJ的情況下,只是數據庫中的另一個表),其中另一個進程將監視該表並按其出現的方式運行作業。通過這種方式,您可以在作業在後臺工作時立即向用戶返回響應,同時保持您的Web dyno免費處理請求。
如果您使用的是Heroku,那麼您需要支付工人測功機才能與您的網絡測試儀一起運行。
另外它取決於您的服務器設置。如果您使用的是像Unicorn這樣的應用程序服務器,那麼您應該可以在單個dyno中運行多個Rails進程,因此即使您的文本分析綁定了,也仍然可以處理Web請求。
但是誠實地說,這聽起來好像你的應用還沒有準備好在Heroku的生產環境中運行,因爲這個問題在你部署之前應該已經有了一個解決方案。您不希望讓Web進程被束縛在可能更適合後臺工作進程的工作上。
相關問題
- 1. Ruby on Rails同時多個HTTP請求?
- 2. Ruby on Rails,ActiveRecord回調,延遲執行
- 3. Ruby on Rails的延遲更新
- 4. Ruby on Rails的 - 多POST請求
- 5. HTTP請求 - Ruby on Rails
- 6. 後臺Ruby on Rails請求
- 7. Ruby on Rails simple_forms RESTful請求
- 8. 關注請求Ruby on Rails
- 9. 多個AJAX請求相互延遲
- 10. 延遲Alamofire請求
- 11. 延遲Ajax請求
- 12. Scrapy延遲請求
- 13. http請求延遲
- 14. Ruby on Rails:延遲作業延長作業之間的時間
- 15. Ruby on Rails HTTPS Post Bad請求
- 16. Ajax刪除請求ReactJS和Ruby on Rails
- 17. 在Ruby on Rails中創建PUT請求?
- 18. Ruby on rails post請求路由
- 19. Flex Ruby on Rails http xml請求錯誤
- 20. Ruby on Rails Web服務與POST請求
- 21. Ruby on Rails接受發佈請求
- 22. Ruby on Rails和JSON請求處理
- 23. 限制對Ruby on Rails API的請求
- 24. Ruby on Rails,如何複製HTTP請求
- 25. Ruby on Rails鏈接請求發送
- 26. Ruby on Rails POST請求失敗
- 27. Torquebox多租戶請求響應延遲
- 28. 每個請求的Django響應延遲
- 29. scrapy中的延遲請求
- 30. 確定請求延遲