2012-08-23 44 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

你不遍历列表,因为在第一次回到你的循环是破产了。