带有无限循环的rails中的异步页面加载

时间:2015-04-26 23:30:26

标签: ruby-on-rails ruby

我有一个机器人在rails中运行无限循环。我想让代码中的东西定期打印到视图页面运行。由于我在无限循环上运行机器人,我需要一些方法来异步加载将输出其动作的定期更新的页面。在rails中执行此操作的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

让我介绍一下你可以采取的3种不同方法:

  1. Javascript刷新每个时间段
  2. 套接字
  3. 预建仪表板
  4. 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 它非常容易设置和开始。它确实将数据直接输出到客户端,但允许您跳过很多细节并且只是运行。作为警告,我们将此问题与其他项目混在一起,这就是我们不在生产中使用它的原因。