class ActionCable::RemoteConnections
Action Cable Remote Connections
Если требуется отключить определённое соединение, можно воспользоваться RemoteConnections. Найдите нужные соединения, поискав идентификатор, объявленный в соединении. Например:
module ApplicationCable
class Connection < ActionCable::Connection::Base
identified_by :current_user
....
end
end
ActionCable.server.remote_connections.where(current_user: User.find(1)).disconnect Это отключит все соединения, установленные для User.find(1), на всех серверах на всех машинах, поскольку используется внутренний канал, к которому все эти серверы подписаны.
По умолчанию сервер отправляет сообщение «disconnect» с установленным флагом «reconnect» в значение true. Можно переопределить это, указав опцию reconnect:
ActionCable.server.remote_connections.where(current_user: User.find(1)).disconnect(reconnect: false)
Атрибуты
server[R]
Открытые методы класса
# File actioncable/lib/action_cable/remote_connections.rb, line 34 def initialize(server) @server = server end
Открытые методы экземпляра
# File actioncable/lib/action_cable/remote_connections.rb, line 38 def where(identifier) RemoteConnection.new(server, identifier) end
© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.