【问题标题】:Django - How to create updating progress bars?Django - 如何创建更新进度条?
【发布时间】:2015-01-29 21:27:44
【问题描述】:

我想知道我应该如何继续并实现更新进度条。基本上,服务器应该定期向用户发送有关当前进度的确认信息。

我知道如何使用 Django 和 jQuery 进行 Ajax 调用,类似于图 1。

在我的网页上,用户想要查看的数据中间出现了一个“处理”文本框。

但是,我想这样做,以便我可以向用户发送定期更新。例如,我想打印出它当前正在处理 X、Y,最后是 Z,而不是“处理”,如图 2 所示。

如果我使用图 1 中的方法,如果我将任何内容发送回服务器,它将结束 ajax 请求并跳转到 jQuery 中的“成功”。有没有办法在不结束我的 ajax 调用的情况下不断地向用户发送数据?

谁能指出我正确的方向?

【问题讨论】:

    标签: javascript jquery ajax django progress-bar


    【解决方案1】:

    让生成字典的请求将其进度写入数据库,并让第二个 ajax 请求轮询服务器以检查进度并向用户报告。

    【讨论】:

    • 问题是,那么这两个任务应该如何一起通信呢?我正在使用 celery 和 rabbitMQ,任务分配给 celery 工人。我是否应该实现一个模型,将任务状态写入数据库,另一个进程读取任务状态并将其发送给用户?
    • 我不熟悉 celery 或 rabbitMQ,但一般来说,worker 将任何更新写入数据库,另一个进程检查数据库中的进度以显示给用户。
    • 一个更快的地方是memcached,而不是不断地访问数据库。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 2016-08-17
    • 1970-01-01
    • 2012-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多