我正在構建一個簡單形式的應用程序。您將查詢放置在多個表單元素中,然後單擊提交。查詢順序API調用狀態
這提交(相當)大量的API調用,以第三方API創建的第三方應用程序所需的對象,執行它們,然後將結果返回給我的應用程序。
該過程需要5-30秒。
我想這個做的是呈現在部分計算結果(因爲SQL IDE,像SSMS或蟾蜍或者其他 - 在頂部的輸入,下面返回結果)。我希望在該過程中的每一步之後刷新該部分,並向用戶顯示該任務的狀態。目前,該應用程序只是坐滿並旋轉,直到完成所有這些複雜的IO業務邏輯,從而導致可怕的用戶體驗。
因此,可以說,通過第三方API所採取的步驟是:
創建插件
開始小部件
顯示器部件狀態
完成後,將最終結果返回給用戶。
我想要做的是有一個變量,說@status,其中包含上述過程的當前執行。 「創建Widget ...」等等。當任務完成時,這向用戶顯示。
當這些任務中的任何一個完成時,我該如何重新渲染部分?它應該輪詢服務器嗎?我怎樣才能在沒有線程鎖定的情況下輪詢正在運行服務器端的進程,直到上述步驟完成?
目前,這是不寫入數據庫,我想盡可能地保持數據庫出這是由於負荷的限制。
現在,我知道輪詢動作的不同方法(通過jQuery的AJAX),主要是使用setinterval/timeout來調用控制器動作和重新呈現,但如果我的API調用方法被引用行動,它只是等待,直到完成任何事情。
有什麼想法?
對我的文字有幫助嗎? –