MessageBus.callbackInterval 在生产中不起作用

MessageBus.callbackInterval does not work in production

几个月来我一直在使用 message_bus gem 作为 websocket 解决方案的更简化的替代方案。默认的 MessageBus.callbackInterval 太宽了,所以我想缩小它。我已经在我的开发环境中成功地做到了这一点。但是,在部署到生产环境时,似乎忽略了下面的第二行:

MessageBus.start();
MessageBus.callbackInterval = 1800; # this should change the interval frequency, but it doesn't
MessageBus.subscribe("/some_id", function(status) {
  // work
});

知道如何调试吗?

我个人之前没有遇到过这个问题,但与 Rails 中的许多 JavaScript libraries/files 一样,它可能是资产管道中的问题。

您确定您包含 JavaScript 消息总线在您的视图中工作所必需的:

<script src="message-bus.js" type="text/javascript"></script>

并在资产中

//= require message-bus

如果您使用的是此 gem 的 Ruby 版本,您始终可以尝试使用 Ruby 而不是 JavaScript 来设置它。

client = MessageBus::Client.new('http://127.0.0.1/8000') #port is optional
#you should be able to do 
client.callbackInterval = 1800
#after that you should be able to do 


client.subscribe('/message') do |payload|
  # Do stuff
end

有关详细信息,请参阅 https://github.com/lowjoel/message_bus-client