2015-11-03 86 views
0

我创建了一个web应用程序来使用python烧瓶框架处理大量数据。我创建了一个表单,并在用户提交表单时获取数据消费程序的输入参数。该程序需要大约20-30分钟才能完成,我想在网页上向用户显示该程序的状态。在烧瓶程序中显示使用Ajax的进度

我该如何做到这一点?

用户提交数据后,是否需要在单独的线程上运行程序并重定向到其他线程上的成功页面?如何在程序和POST页面之间进行通信?如何连续刷新页面?

在此先感谢。

回答

1

对于寿命太长而无法完全存在于请求/响应周期内的任务,任务队列是一个不错的选择。退房celery

当任务完成后,您可以将任务串起来更新应用程序的状态,然后使用setInterval()clearInterval()浏览器API轮询您的应用程序。

1

几个月前我碰巧做过同样的事情。代码是here。基本上你使用Celery + rabbitmq在后台运行你的任务。希望能帮助到你。