2012-08-23 66 views
0

我不太確定在這個主題上搜索什麼。在處理數據時更新網頁

我有一個Pylons後端,它循環訪問數據庫中的電子郵件地址列表,然後將它們顯示在網頁上。我想要做的是有一個加載部分(因爲有一些其他進程需要相當長的一段時間)來顯示當前正在處理哪個電子郵件地址。


「目前正在處理:[email protected]
「目前正在處理:[email protected]

即時通信開放使用任何可用的技術,雖然我懷疑AJAX是答案。我只是有點難以應付,因爲如果我回到前端網頁,過程將結束!必須有某種並行處理,但我不知道如何去做。那麼我怎麼能顯示屏幕上正在處理哪個電子郵件地址?

的Python

emails = [a,b,c] 
for x in emails: 
    return x 

的Javascript

function displayProcess(email){ 
$('#emailDisplay').val(email) 
}; 

回答

0

您應該使用某種作業隊列來處理長時間的任務。在Python世界中,Celery非常流行。喬布斯可以將他們的狀態報告給某種快速和臨時的數據存儲,如Redis,JavaScript可以使用AJAX分別查詢這些狀態,比方說,5秒(假設處理過的東西並不重要2或5秒前)。

編輯

只是爲了澄清 - 模型我所描述的JavaScript不直接調用Redis的。它使用某種服務將需要的數據轉儲到JSON或XML。

0

你不遍歷列表,因爲在第一次回到你的循環是破產了。