我有一個請求來更新服務器中的數據。Java從一個請求中播放兩個響應
當我更新數據,我需要運行一個非常沉重的計算需要10-30秒。
我想這樣做:
- 發送查詢請求從客戶
- 更新獲取服務器的請求,並開始一個新的線程做計算,然後更新我的數據庫中的對象和向客戶端返回更新完成的響應。
- 計算結束時 - 向客戶端發送另一個響應,通知他計算結束。
這樣我們有2個更新信息發送到客戶端。
我有一個請求來更新服務器中的數據。Java從一個請求中播放兩個響應
當我更新數據,我需要運行一個非常沉重的計算需要10-30秒。
我想這樣做:
這樣我們有2個更新信息發送到客戶端。
在你的路線,你應該有2項:
,做更新到數據庫(沒有上下文,很難提供良好的名稱)
然後你定義這些功能每一個在你的控制器,
一旦你有了這個,你可以打電話給你API,並使用2個響應separately
(我使用AJAX JavaScript)來更新信息消息。
我使用PlayFramework與Scala很抱歉,如果我不能幫助大塊的代碼,但我碰到類似於你的問題。
這裏是the documentation for Asynchronous requests
編輯:重讀的問題後,我改變了我的做法
Thnx很多!我試過這個,但是,當我返回第一個結果(更新 - 真實(完成))我回來了,所以我不能繼續並再次發送計算的迴應 –
請參閱我的更新 – Daniel
明白了! Thnx很多:)),我的問題是隻從服務器做它。謝謝:D –
什麼是「一定的時間」? 30秒? 5個小時? – Salem
時間約10-30秒 –