【问题标题】:How to update flask frontend instantly when MongoDb database updates?MongoDb 数据库更新时如何立即更新烧瓶前端?
【发布时间】:2020-05-14 06:18:54
【问题描述】:

我正在从流式应用程序更新 MongoDb 数据库。我希望数据库中的更改反映在前端。

在前端,我目前正在查询数据库,但我必须手动刷新才能获得新的更新。定期刷新不是一个好选择,因为更新可能每秒过快多次,甚至一小时几次非常慢。

我遇到了 SSE(服务器发送事件)。但不知道它是否可以用于我的情况。

【问题讨论】:

    标签: database mongodb flask server-sent-events real-time-updates


    【解决方案1】:

    我正在寻找的是一种基于 PUSH 的良好方法。后端服务器可以更改为前端客户端。

    我用过的: 取而代之的是基于 PULL 的方法。 通常,在这种情况下,可以使用 JavaScript 中带有 setInterval() 的 AJAX 请求。在这种情况下,不必刷新整个页面。但是只需定期使用 ajax 请求来定期检查更新。并且在更新的情况下可以附加/填充相关的 Html。

    这是我使用的:

    function update(){ // This functions is called repeatedly 
        $.ajax({
            url: "/update/",
            type: "POST",
            success: function(resp){
                $('div.stats').html(resp.data); // append/fill to appropriate div
            }
        });
    }
    
    var myVar = setInterval(update, 1000); // update every 1sec 
    

    这是很常用的方法。 这符合我的目的。

    还有一些方法可以改为使用基于 PUSH 的方法。请参阅COMET 编程。但我找不到与 Web 框架同步的合适工具。

    【讨论】:

      猜你喜欢
      • 2018-11-08
      • 2021-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-15
      • 2021-12-25
      • 1970-01-01
      • 2017-01-15
      相关资源
      最近更新 更多