如何在 MongoDb 数据库更新时立即更新 Flask 前端?
How to update flask frontend instantly when MongoDb database updates?
我正在从流式应用程序更新 MongoDb 数据库。我希望数据库中的更改反映在前端。
在前端,我目前正在查询数据库,但我必须手动刷新才能获得新的更新。定期刷新不是一个好的选择,因为更新速度可能每秒很多次,甚至每小时几次非常慢。
我遇到了 SSE(服务器发送的事件)。但不知道它是否可以用于我的情况。
我正在寻找的是一个很好的基于 PUSH 的方法。后端服务器可以更改为前端客户端的地方。
我用过的:
取而代之的是基于 PULL 的方法。
通常,在这种情况下,可以使用带有 setInterval() in javascript 的 AJAX 请求。在这种情况下,不必刷新整个页面。但只需定期使用 ajax 请求以定期检查更新。并且在更新的情况下可以 append/fill 相关的相应 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 编程。但是我找不到合适的工具来与网络框架同步。
我正在从流式应用程序更新 MongoDb 数据库。我希望数据库中的更改反映在前端。
在前端,我目前正在查询数据库,但我必须手动刷新才能获得新的更新。定期刷新不是一个好的选择,因为更新速度可能每秒很多次,甚至每小时几次非常慢。
我遇到了 SSE(服务器发送的事件)。但不知道它是否可以用于我的情况。
我正在寻找的是一个很好的基于 PUSH 的方法。后端服务器可以更改为前端客户端的地方。
我用过的: 取而代之的是基于 PULL 的方法。 通常,在这种情况下,可以使用带有 setInterval() in javascript 的 AJAX 请求。在这种情况下,不必刷新整个页面。但只需定期使用 ajax 请求以定期检查更新。并且在更新的情况下可以 append/fill 相关的相应 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 编程。但是我找不到合适的工具来与网络框架同步。