我正在寻找一种简单的(即,不需要我设置单独的服务器来处理消息队列)方法来对运行计算并生成图形的小型 Web 界面进行长轮询。这是我的网络界面需要做的:
- 用户在 Web 界面中请求图形/数据
- 服务器运行一些计算。
- 当服务器运行计算时,一个小容器会随着计算进度更新(可能通过 AJAX/jQuery)(类似于您在带有 print 的控制台中所做的事情(即 print 'calculating density function...'))
- 计算完成并向用户显示图表。
由于计算都是在服务器端完成的,我不确定如何轻松设置它。显然,我想设置一个 REST API 来处理轮询,这在 Flask 中很容易。但是,我不确定如何检索实际更新。为此目的,一个明显的,虽然复杂的解决方案是设置一个消息队列并进行一些长轮询。但是,我不确定这对于这么简单的事情是正确的方法。
以下是我的问题:
- 有没有办法使用文件系统来做到这一点?性能不是一个大问题。AJAX/jQuery 可以从文件中查找消息吗?将进度保存到某个 .json 文件?
- 腌制呢?(我对酸洗不太了解,但也许我可以酸洗一个消息字典,它可以被处理轮询的 API 读取)。
- 民意调查甚至是正确的方法吗?有没有更好或更常见的模式来处理这个问题?
我觉得我把事情复杂化了,因为我知道这种事情在网络上很常见。我经常看到一些事情正在发生,并且在进行一些计算(例如,在 Google Analytics 中)时,正在运行一个小的“loading.gif”图像。
谢谢你的帮助!