我的操作花費30分鐘到由靜止呼叫請求而被調用進程。我想給客戶立即迴應,告訴正在進行的操作,並且處理應該發生在另一個線程中,解決這個問題的最好方法是什麼,推遲結果是唯一的方法。長輪詢
Q
長輪詢
0
A
回答
0
30分鐘是很長的時間。我建議你使用websocket
s推進進度更新和操作狀態。
0
既然你提供其他服務,另一種方法可以立即返回「接受」(202)或「創造」(201)到客戶端,並提供鏈接到其他服務,將提供有關的進展狀態更新處理。通過這種方式,客戶端可以自由決定是否輪詢服務器以獲取更新,或者僅向用戶提供「更新狀態」按鈕。
0
使用消息隊列(ActiveMQ的,Redis的)。從客戶端
- 發送請求。
- 控制器獲取請求,在消息隊列中發佈進程/消息。
- 發送迴應給客戶說它正在處理。
- 在消息隊列中查找更改/新進程的另一個線程。
- 執行過程 - 更新消息隊列中的狀態,每一步完成。 - (開始/運行/完成/失敗)。
- 您可以顯示過程每次與過程的隊列中的ID的狀態。
相關問題
- 1. AJAX輪詢頻率 - 要長期輪詢還是不輪詢長輪詢?
- 2. Java長輪詢
- 3. Angularjs長輪詢
- 4. 輪詢vs長輪詢與推(
- 5. 長輪詢事件
- 6. PHP - 長輪詢通知
- 7. 使用NSURLConnection的長輪詢
- 8. 使用異步長輪詢?
- 9. 不能實現長輪詢
- 10. PHP長輪詢失敗
- 11. 阿賈克斯長輪詢
- 12. 春季長輪詢ConcurrentModificationException
- 13. 長角度輪詢問題
- 14. 長輪詢與Java和JBoss
- 15. 擴展聊天應用 - 短輪詢與長輪詢(AJAX,PHP)
- 16. JavaEE 6 Servlet用於長輪詢
- 17. Node.js長輪詢邏輯幫助!
- 18. AngularJS長輪詢查看未更新
- 19. 長輪詢VS流約1更新/秒
- 20. PHP會話鎖定了ajax長輪詢
- 21. 使用瘦爲長輪詢連接
- 22. 服務堆棧中的長輪詢
- 23. 長輪詢阿賈克斯問題
- 24. AJAX長輪詢,提高效率
- 25. Asp.net MVC3長時間輪詢會話
- 26. 長輪詢不打中樞類?
- 27. Apache Tomcat的長輪詢效率如何?
- 28. 長輪詢導致服務器問題?
- 29. PHP +彗星(長輪詢)縮放/主機
- 30. Ajax長輪詢不能正常工作
Spring 4.2支持服務器發送的事件http://zjhzxhz.com/2015/06/use-server-sent-event-in-spring-4-2/ –