我有一个机器人在rails中运行无限循环。我想让代码中的东西定期打印到视图页面运行。由于我在无限循环上运行机器人,我需要一些方法来异步加载将输出其动作的定期更新的页面。在rails中执行此操作的最佳方法是什么?
答案 0 :(得分:1)
让我介绍一下你可以采取的3种不同方法:
Javascript刷新只会添加:
setTimeout(function(){
window.location.reload(1);
}, 5000);
或
<meta http-equiv="refresh" content="5; URL=http://www.yourdomain.com/yoursite.html">
如所讨论的问题所述: How to reload page every 5 second?
对于websockets,您可以直接连接。我们使用https://github.com/websocket-rails/websocket-rails 对于我们的生产环境。
最后,对于仪表板,您可能需要考虑: https://github.com/gottfrois/dashing-rails 它非常容易设置和开始。它确实将数据直接输出到客户端,但允许您跳过很多细节并且只是运行。作为警告,我们将此问题与其他项目混在一起,这就是我们不在生产中使用它的原因。