每30分钟显示带有数据的html页面的最佳方法

问题描述 投票:-2回答:2

我正在尝试从Splunk中提取数据并将其显示在HTML页面中。他们有Splunk API。我在后端使用Flask。每次用户访问index.html时,Flask都会通过调用该Splunk API在后端呈现它。我试图避免的是每次用户访问index.html时都调用Splunk API。我只想在30分钟的间隔内命中Splunk服务器。在这种情况下,最好的架构/方法是什么?

我想不到的是:-1.在某些计划的作业的帮助下,每隔30分钟在后台用数据重建index.html页面。2.如果旧的缓存数据超过30分钟,则使用Flask缓存或Python缓存系统缓存数据并获取新的缓存。3.不是通过调用Splunk API来获取数据的index.html,而是将来自Splunk API的数据存储在JSON文件中,然后每30分钟更新一次该JSON文件。

python html flask splunk
2个回答
0
投票

您可以在其前面放置一个缓存。您的服务器逻辑将保持不变,并且代理只会间隔一定时间访问您的实际服务器。有关一些示例,请参见https://www.nginx.com/blog/nginx-caching-guide/


0
投票

最好的也是唯一的方法是使用缓存。

您每30分钟显示带有新数据的html的想法的问题是,请求您的网页的客户端是确定html的构建方式和时间的客户端。

通过缓存,只需在前端后面和Web服务前端添加本地redis容器。

因此,当客户端请求您的html时,您可以实现逻辑以首先检查数据是否为redis。如果是,则使用该信息填充html。如果不是,那么您将从Web服务/后端请求信息,然后重新填充缓存。

© www.soinside.com 2019 - 2024. All rights reserved.