【问题标题】:Show progress using Ajax on a flask program在烧瓶程序上使用 Ajax 显示进度
【发布时间】:2015-11-03 21:59:12
【问题描述】:

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

我如何实现这一目标?

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

提前致谢。

【问题讨论】:

    标签: python ajax multithreading flask flask-wtforms


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-03-14
        • 1970-01-01
        • 2020-04-27
        • 2019-09-22
        • 1970-01-01
        • 1970-01-01
        • 2021-11-09
        相关资源
        最近更新 更多