Spec-Zone.ru › Ruby on Rails 8.1

class ActionCable::RemoteConnections

Родитель:
Object

Удалённые подключения 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)

Атрибуты

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