當用戶點擊一個按鈕時,我需要執行一個耗時的任務。基本上,我會在每個帖子上做一些處理,向很多人發送請求到遠程服務器。如何在後臺處理請求並稍後報告結果?
用戶不會立即需要結果,所以我可以在後臺運行它。但是我需要能夠告訴用戶當他們再次訪問該頁面時,任務是否完成(以及結果如果完成)。另外,我不希望他們能夠在第一個仍在運行時啓動另一個相同任務的實例(通過單擊按鈕)。
任何方式我可以做到以上所有?
編輯:我正在開發的WordPress。它被貼上標籤,但我想我應該在問題中提到它。
當用戶點擊一個按鈕時,我需要執行一個耗時的任務。基本上,我會在每個帖子上做一些處理,向很多人發送請求到遠程服務器。如何在後臺處理請求並稍後報告結果?
用戶不會立即需要結果,所以我可以在後臺運行它。但是我需要能夠告訴用戶當他們再次訪問該頁面時,任務是否完成(以及結果如果完成)。另外,我不希望他們能夠在第一個仍在運行時啓動另一個相同任務的實例(通過單擊按鈕)。
任何方式我可以做到以上所有?
編輯:我正在開發的WordPress。它被貼上標籤,但我想我應該在問題中提到它。
您需要JavaScript才能創建Ajax請求。你需要學習至少JavaScript的基礎知識,然後你可以嘗試一個庫(例如jQuery),或者你可以創建一個庫(如果可以的話)。
這就是我現在正在做的(jQuery)。任務耗時過長,請求超時。我知道我可以增加超時時間,但是我沒有必要讓用戶留在同一頁面上。 – lfk
這是基本的過程中,我會去通過
其他想法
你可以每5秒使用javascript輪詢您的網站,並檢查該作業是否完成。 – bumperbox
你將需要實現某種類型的隊列系統 – Trent
@bumperbox這不是問題。我希望他們能夠離開該頁面。當他們回到那個頁面時,它說任務還沒有完成,完成等等。代碼的服務器端是我的問題。 – lfk