在处理数据时更新网页

时间:2012-08-23 09:37:01

标签: python ajax javascript-events parallel-processing pylons

我真的不确定在这个问题上搜索什么。

我有一个Pylons后端,它循环遍历数据库中的电子邮件地址列表,然后在网页上显示它们。我想要做的是有一个加载部分(因为还有一些其他过程需要很长时间)来显示当前正在处理的电子邮件地址。

即“目前处理:example@internet.com”
“当前正在处理:example2@internet.com”

我愿意使用任何可用的技术,虽然我怀疑AJAX会是答案。我只是有点难以做什么,好像我把东西归还到前端网页,这个过程就会结束!必须有某种并行处理,但我不知道如何去做。那么如何在屏幕上显示正在处理的电子邮件地址?

的Python

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

的Javascript

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

2 个答案:

答案 0 :(得分:0)

你没有循环遍历列表,因为在第一次返回时你的循环被破坏了。

答案 1 :(得分:0)

您应该使用某种作业队列来执行持久的任务。 Celery在Python世界中非常流行。乔布斯可以将他们的状态报告给某种快速和临时的数据存储,例如Redis,JavaScript可以使用每个AJAX轮询这些状态,比方说,5秒(我假设它不重要,如果有的话已经处理2或5秒前。)

修改

只是为了澄清 - 在模型中我描述JavaScript并不直接调用Redis。它使用某种服务将所需数据转储到JSON或XML。