Spec-Zone.ru › Ruby on Rails 7.2

class ActionCable::RemoteConnections

Parent:
Object

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]

Открытые методы класса

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