gpt4 book ai didi

ruby-on-rails - 使用 websokets-rails gem 每秒广播消息

转载 作者:行者123 更新时间:2023-12-04 05:42:43 24 4
gpt4 key购买 nike

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

我的 websockets Controller :

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

“运行”方法看起来像

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

在控制台中,我看到 Rails.logger.info(ops) 每秒输出消息,但是 send_message 在方法执行完成时一次发送所有 10 个结果。

最佳答案

我想你想做的是使用像 sync 这样的 gem

Rails 的实时部分。 Sync 让您可以使用最少的代码渲染模型的部分,当服务器上发生更改时,这些模型会在浏览器中实时更新。

您可以查看示例 here

关于ruby-on-rails - 使用 websokets-rails gem 每秒广播消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21920197/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com