Spec-Zone.ru › Ruby on Rails 8.0

class ActionCable::RemoteConnections

Parent:
Объект

Подключения Action Cable Remote

Если вам нужно отключить определённое подключение, вы можете воспользоваться 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), на всех серверах на всех машинах, потому что используется внутренний канал, к которому все эти сервера подписаны.

По умолчанию сервер отправляет сообщение «отключение» с флагом «подключение» установленным в значение «true». Вы можете переопределить его, указав опцию reconnect:

ActionCable.server.remote_connections.where(current_user: User.find(1)).disconnect(reconnect: false)

Атрибуты

server[R]

Публичные методы класса

new(server) Показать исходный код
# File actioncable/lib/action_cable/remote_connections.rb, line 34
def initialize(server)
  @server = server
end

Публичные методы экземпляра

where(identifier) Показать исходный код
# 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API