class ActionCable::RemoteConnections
Удалённые подключения Action Cable
Если вам нужно отключить определённое подключение, можно обратиться к 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)
Атрибуты
Открытые методы класса
# 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.