解决方法
扩展@BoraMa的答案:
你可以像这样覆盖后端的常量:
# config/initializers/action_cable.rb module ActionCable module Server module Connections BEAT_INTERVAL = 5 end end end
在客户端,您还需要覆盖值:
// this should be after //= require action_cable // but before any App.cable.subscriptions.create call // the value here *must* be 2 times the backend's value ActionCable.ConnectionMonitor.staleThreshold = 10;
请注意,这种方法通常是一个非常糟糕的主意:弄乱内部变量是导致错误和问题的直接方法之一.
事实上,ruby甚至会警告你:
config/initializers/action_cable.rb:7: warning: already initialized constant ActionCable::Server::Connections::BEAT_INTERVAL
只有当你知道自己在做什么时才使用它.