Ruby on rails 使用websokets rails gem每秒广播一次消息

Ruby on rails 使用websokets rails gem每秒广播一次消息,ruby-on-rails,websocket,Ruby On Rails,Websocket,我正在使用websockets rails gem构建一个每秒接收一些信息的应用程序。 现在,似乎所有消息都是在方法完全执行后发送的 我的WebSocket控制器: class DbTestsController< WebsocketRails::BaseController def run_tests_on_all dbtsch = DbTestsScheduler.new dbtsch.run(1, 10, message['shard'], :push) do

我正在使用websockets rails gem构建一个每秒接收一些信息的应用程序。 现在,似乎所有消息都是在方法完全执行后发送的

我的WebSocket控制器:

class DbTestsController< WebsocketRails::BaseController

  def run_tests_on_all
    dbtsch = DbTestsScheduler.new
    dbtsch.run(1, 10, message['shard'], :push) do |ops|
      send_message 'db_test.run_tests_on_all', ops
      Rails.logger.info(ops)
    end
  end

end
classdbtestscocontroller
“run”方法看起来像

def run(ecfs, fafs, shard, operation)
    st = tep_t = Time.now
    while st + fafs.second > Time.now
      Octopus.using(shard) do
        send(operation)
      end
      if tep_t + ecfs.second <= Time.now
        tep_t = tep_t + 1.second
        yield(@ops) if block_given?
        @ops = 0
      end
    end
  end
def运行(ecfs、fafs、碎片、操作) st=tep\u t=Time.now 而st+fafs.second>Time.now 章鱼。用(碎片)做 发送(操作) 结束
如果tep_t+ecfs.second我想你要做的是使用一个像

使用Rails进行实时分区。“同步”允许您渲染模型的部分,这些模型在服务器上发生更改时,只需最少的代码即可在浏览器中实时更新


你可以查看一个例子

投票意味着没有多少人知道答案&,像我一样,很想看看人们会带着什么回来!